diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index ed0a570..fb9cf7f 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -1761,7 +1761,7 @@ #define BUFFER_OR_DATA(_attribute) dataL
 #undef BUFFER_OR_DATA
 
     /* Fixed pipeline, no fixups required - load arrays */
-    if (!useVertexShaderFunction &&
+    if (!useVertexShaderFunction ||
        ((dataLocations->u.s.pSize.lpData == NULL &&
          dataLocations->u.s.diffuse.lpData == NULL &&
          dataLocations->u.s.specular.lpData == NULL) ||
