diff --git a/src/glstate.cpp b/src/glstate.cpp
index 83ca4e7b7..0fbcdc6c4 100644
--- a/src/glstate.cpp
+++ b/src/glstate.cpp
@@ -84,10 +84,9 @@ void GLBlendMode::apply(const BlendType &value)
 		break;
 
 	case BlendSubstraction :
-		// FIXME Alpha calculation is untested
 		gl.BlendEquation(GL_FUNC_REVERSE_SUBTRACT);
 		gl.BlendFuncSeparate(GL_SRC_ALPHA, GL_ONE,
-		                     GL_ONE,       GL_ONE);
+		                     GL_ZERO,      GL_ONE);
 		break;
 	}
 }