diff --git a/src/game.cpp b/src/game.cpp
index 0c7d15d0cde86f8a50e9333fd94d4f04ea68f095..4f2d6650d4cecd146dc79ce3a9a7ce514b52c846 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -807,7 +807,12 @@ class GameGlobalShaderConstantSetter : public IShaderConstantSetter
 		
 		// Normal map texture layer
 		int layer = 1;
+		// before 1.8 there isn't a "integer interface", only float
+#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
 		services->setPixelShaderConstant("normalTexture" , (irr::f32*)&layer, 1);
+#else
+		services->setPixelShaderConstant("normalTexture" , (irr::s32*)&layer, 1);
+#endif
 	}
 };