diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index c6c109a30..28ce93de6 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -75,9 +75,6 @@ libegl = dependency('egl', required : false)
 libglesv2 = dependency('glesv2', required : false)
 
 if mesa_works
-    libcamera_internal_sources += files([
-        'egl.cpp',
-    ])
     gles_headless_enabled = true
 else
     gles_headless_enabled = false
diff --git a/src/libcamera/software_isp/meson.build b/src/libcamera/software_isp/meson.build
index c61ac7d59..a55b76b58 100644
--- a/src/libcamera/software_isp/meson.build
+++ b/src/libcamera/software_isp/meson.build
@@ -19,6 +19,7 @@ libcamera_internal_sources += files([
 if softisp_enabled and gles_headless_enabled
     config_h.set('HAVE_DEBAYER_EGL', 1)
     libcamera_internal_sources += files([
+        '../egl.cpp',
         'debayer_egl.cpp',
     ])
 endif
