diff --git a/RTCP/Cobalt/GPUProc/src/complex.h b/RTCP/Cobalt/GPUProc/src/complex.h
index a8668593bc5d21b0fe35455370407176eff07b62..20e988e72ab554463bc7a8841aeca2c473ff87e8 100644
--- a/RTCP/Cobalt/GPUProc/src/complex.h
+++ b/RTCP/Cobalt/GPUProc/src/complex.h
@@ -25,59 +25,14 @@
 #ifndef LOFAR_GPUPROC_COMPLEX_H
 #define LOFAR_GPUPROC_COMPLEX_H
 
-// #if defined (USE_CUDA) && defined (USE_OPENCL)
-// # error "Either CUDA or OpenCL must be enabled, not both"
-// #endif
-
-//# Forward declaration
-namespace LOFAR {
-  namespace Cobalt {
-    namespace gpu { 
-      template<typename T> class complex;
-      // template<> class complex<float>;
-      // template<> class complex<double>;
-    }
-  }
-}
-
-#include <complex>
-
-namespace LOFAR
-{
-  namespace Cobalt
-  {
-    namespace gpu
-    { 
-      // Template to represent complex numbers on a GPU. 
-      // The non-specialized version is based on std::complex.
-      // Specializations for float and double are included from a
-      // language-specific file (CUDA or OpenCL).
-      template<typename T> 
-      class complex : public std::complex<T>
-      {
-      public:
-        // Default constructor.
-        // __host__ __device__ 
-        complex(const T& re = T(), const T& im = T())
-          : std::complex<T>(re, im) { }
-
-        // Copy constructor.
-        template<typename U>
-        // __host__ __device__
-        complex(const complex<U>& z)
-          : std::complex<T>(z.real(), z.imag()) { }
-      };
-
-    } // namespace gpu
-
-  } // namespace Cobalt
-
-} // namespace LOFAR
+#if defined (USE_CUDA) && defined (USE_OPENCL)
+# warning "Either CUDA or OpenCL must be enabled, not both"
+#endif
 
-// #if defined (USE_CUDA)
-// # include "cuda/complex.h"
-// #elif defined (USE_OPENCL)
-// # include "opencl/complex.h"
-// #endif
+#if defined (USE_CUDA)
+# include "cuda/complex.h"
+#elif defined (USE_OPENCL)
+# include "opencl/complex.h"
+#endif
 
 #endif