diff --git a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
index 3280de11d95e1e9c70504bad0986ddfba10d1c7e..248a3fe0f08d9dd69d89446b41aa65ec186f8841 100644
--- a/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
+++ b/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx
@@ -1687,8 +1687,15 @@ void vtkOpenGLPolyDataMapper::ReplaceShaderTCoord(
          << tcoordname << "VCVSOutput" << tCoordImpFSPost << "); // Read texture color\n";
     }
 
+    vtkTextureObject* textureObject = vtkOpenGLTexture::SafeDownCast(texture)->GetTextureObject();
+    if (!textureObject)
+    {
+      vtkErrorMacro("Could not find the vtkTextureObject");
+      return;
+    }
+
     // Update color based on texture number of components
-    int tNumComp = vtkOpenGLTexture::SafeDownCast(texture)->GetTextureObject()->GetComponents();
+    int tNumComp = textureObject->GetComponents();
     switch (tNumComp)
     {
       case 1: