diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h
index bcf09b475..57f90d93f 100644
--- a/include/libcamera/internal/egl.h
+++ b/include/libcamera/internal/egl.h
@@ -90,6 +90,7 @@ public:
 	GLenum texture_unit_; /**< Texture unit associated with this image eg (GL_TEXTURE0) */
 	GLuint texture_; /**< OpenGL texture object ID */
 	GLuint fbo_; /**< OpenGL frame buffer object ID */
+	bool dmabuf_import_failed_ = false; /**< Previous image import failed */
 
 private:
 	LIBCAMERA_DISABLE_COPY_AND_MOVE(eGLImage)
diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp
index 267d22c8b..c185bb7ad 100644
--- a/src/libcamera/egl.cpp
+++ b/src/libcamera/egl.cpp
@@ -165,7 +165,8 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
 					      NULL, image_attrs);
 
 	if (image == EGL_NO_IMAGE_KHR) {
-		LOG(eGL, Error) << "eglCreateImageKHR fail";
+		LOG(eGL, Debug) << "eglCreateImageKHR fail";
+		eglImage.dmabuf_import_failed_ = true;
 		return -ENODEV;
 	}
 
