 			}
 		} else {
 			if (resultColor.a < 0.9f) {
-				if (texColor.a < 0.9f) {
-					texColor = mix(resultColor, texColor, resultColor);
-					texColor.a = resultColor.a;
-					resultColor = texColor;
-				} else {
-					discard;
-				}
 				color = (resultColor + lightAmbientDiffuse) + lightSpecular;
 			} else {
 				discard;

		lightSpecular *= .05;
		if (alphaswitch < 0.5f) {
			if (resultColor.a < 0.9f) {
			    if (texColor.a < 0.9f) {
					discard;
				} else {
					resultColor = texColor;
					resultColor.a = 1.0f;

				color = (resultColor + lightAmbientDiffuse) + lightSpecular;
			} else {				
				if (texColor.a < 0.9f) {
					if (texColor.a > 0.1f) {
						float oneMinusTexAlpha = 1.0 - texColor.a;
						resultColor.r = texColor.r * texColor.a + resultColor.r * oneMinusTexAlpha;
            			resultColor.g = texColor.g * texColor.a + resultColor.g * oneMinusTexAlpha;
            			resultColor.b = texColor.b * texColor.a + resultColor.b * oneMinusTexAlpha;
						resultColor.a = 1.0f;
					}
				} else {
