diff --git a/src/sensor_factory.h b/src/sensor_factory.h
index 03bb93797a96df1d920f25ceff8d27703f0ac3f8..d707210010fb49da6b7e067a2859d32f7e44b18a 100644
--- a/src/sensor_factory.h
+++ b/src/sensor_factory.h
@@ -225,6 +225,10 @@ inline std::string Factory<SensorBase,
   return "SensorFactory";
 }
 
+#define WOLF_REGISTER_SENSOR(SensorType, SensorName) \
+  const bool SensorName##Registered = \
+    wolf::SensorFactory::get().registerCreator(SensorType, SensorName::create); \
+
 } /* namespace wolf */
 
 #endif /* SENSOR_FACTORY_H_ */
diff --git a/src/sensor_laser_2D.cpp b/src/sensor_laser_2D.cpp
index 92e5cf14a8c7431b7ad36c6c46625cae030bac5b..aa89b092c94edd820e15e2a6c9ed938afef77c6a 100644
--- a/src/sensor_laser_2D.cpp
+++ b/src/sensor_laser_2D.cpp
@@ -87,7 +87,9 @@ namespace wolf {
 //}
 namespace
 {
-const bool registered_laser = SensorFactory::get().registerCreator("LASER 2D", SensorLaser2D::create);
+//const bool registered_laser = SensorFactory::get().registerCreator("LASER 2D", SensorLaser2D::create);
 //const bool registered_laser_params = IntrinsicsFactory::get().registerCreator("LASER 2D", createIntrinsicsLaser2D);
+
+WOLF_REGISTER_SENSOR("LASER 2D", SensorLaser2D)
 }
 } // namespace wolf