diff --git a/src/plugins/common/evr/evrd3dpresentengine.cpp b/src/plugins/common/evr/evrd3dpresentengine.cpp
index 9718c78b50d165ed4e67069f8715d6d86c4829ff..ae3d69fc23a513bd0ff71ec29a05d3a549ed9984 100644
--- a/src/plugins/common/evr/evrd3dpresentengine.cpp
+++ b/src/plugins/common/evr/evrd3dpresentengine.cpp
@@ -255,7 +255,7 @@ QVariant IMFSampleVideoBuffer::handle() const
     if (handleType() != GLTextureHandle)
         return handle;
 
-    if (m_textureUpdated || m_engine->updateTexture(m_surface)) {
+    if (m_engine->m_glResources && (m_textureUpdated || m_engine->updateTexture(m_surface))) {
         m_textureUpdated = true;
         handle = QVariant::fromValue<unsigned int>(m_engine->m_glResources->glTexture);
     }