diff --git a/packages/open3d/glew-no-glu.patch b/packages/open3d/glew-no-glu.patch
new file mode 100644
index 0000000000000000000000000000000000000000..84baf0ecd3f5c2cfb403c2142d85427d9e64ee43
--- /dev/null
+++ b/packages/open3d/glew-no-glu.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a87d542b5..509a50633 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,6 +41,10 @@ endif()
+ include(CMakeDependentOption)
+ 
+ # Open3D build options
++option(DEFINE_GLEW_NO_GLU         "Glew without GLU"                         OFF)
++if(DEFINE_GLEW_NO_GLU)
++    add_definitions(-DGLEW_NO_GLU)
++endif(DEFINE_GLEW_NO_GLU)
+ option(BUILD_SHARED_LIBS          "Build shared libraries"                   OFF)
+ option(BUILD_EXAMPLES             "Build Open3D examples programs"           ON )
+ option(BUILD_UNIT_TESTS           "Build Open3D unit tests"                  OFF)
diff --git a/packages/open3d/package.py b/packages/open3d/package.py
index 86883731679efe38c66e62d4ae5e3467d7040136..d97a7e03bc066c7204f28cd2309c59e0bc4a3efc 100644
--- a/packages/open3d/package.py
+++ b/packages/open3d/package.py
@@ -85,6 +85,8 @@ class Open3d(CMakePackage, CudaPackage):
     # LLVM must be built with the C++ library
     conflicts("^llvm libcxx=none")
 
+    patch("glew-no-glu.patch")
+
     def patch(self):
         # Force Python libraries to be installed to self.prefix
         args = std_pip_args + ["--prefix=" + self.prefix]
@@ -148,6 +150,8 @@ class Open3d(CMakePackage, CudaPackage):
             # args.append(self.define("USE_SYSTEM_VTK", True))
         if self.spec.satisfies("@0.18:"):
            args.append(self.define("USE_SYSTEM_EMBREE", True))
+        # cf. https://github.com/spack/spack/issues/42839
+        args.append(self.define("DEFINE_GLEW_NO_GLU", True))
         # end EBRAINS
 
         if "+python" in self.spec: