diff --git a/include/core/processor/factory_processor.h b/include/core/processor/factory_processor.h
index e744f5325a740ceb1bf3e89a2d374a112925af74..738d3558a41124377dffa39731ed1c859d09f873 100644
--- a/include/core/processor/factory_processor.h
+++ b/include/core/processor/factory_processor.h
@@ -185,9 +185,9 @@ inline std::string FactoryProcessor::getClass()
   return "FactoryProcessor";
 }
 
-#define WOLF_REGISTER_PROCESSOR(ProcessorType, ProcessorName)                                   \
-  namespace{ const bool WOLF_UNUSED ProcessorName##Registered =                                 \
-    wolf::FactoryProcessor::get().registerCreator(ProcessorType, ProcessorName::create); }      \
+#define WOLF_REGISTER_PROCESSOR(ProcessorType)                                   \
+  namespace{ const bool WOLF_UNUSED ProcessorType##Registered =                                 \
+    wolf::FactoryProcessor::get().registerCreator(#ProcessorType, ProcessorType::create); }      \
 
 typedef Factory<ProcessorBase,
         const std::string&,
@@ -199,9 +199,9 @@ inline std::string AutoConfFactoryProcessor::getClass()
 }
 
 
-#define WOLF_REGISTER_PROCESSOR_AUTO(ProcessorType, ProcessorName)                                  \
-  namespace{ const bool WOLF_UNUSED ProcessorName##AutoConfRegistered =                             \
-    wolf::AutoConfFactoryProcessor::get().registerCreator(ProcessorType, ProcessorName::create); }  \
+#define WOLF_REGISTER_PROCESSOR_AUTO(ProcessorType)                                  \
+  namespace{ const bool WOLF_UNUSED ProcessorType##AutoConfRegistered =                             \
+    wolf::AutoConfFactoryProcessor::get().registerCreator(#ProcessorType, ProcessorType::create); }  \
 
 } /* namespace wolf */
 
diff --git a/include/core/sensor/factory_sensor.h b/include/core/sensor/factory_sensor.h
index cae320bba5d2e0d380afbca67984e294ac667984..67ef5f597108f7ddc3bc264fb1c0cbc218bdba0a 100644
--- a/include/core/sensor/factory_sensor.h
+++ b/include/core/sensor/factory_sensor.h
@@ -230,9 +230,9 @@ inline std::string FactorySensor::getClass()
   return "FactorySensor";
 }
 
-#define WOLF_REGISTER_SENSOR(SensorType, SensorName)                            \
-  namespace{ const bool WOLF_UNUSED SensorName##Registered =                    \
-    FactorySensor::get().registerCreator(SensorType, SensorName::create); }     \
+#define WOLF_REGISTER_SENSOR(SensorType)                            \
+  namespace{ const bool WOLF_UNUSED SensorType##Registered =                    \
+    FactorySensor::get().registerCreator(#SensorType, SensorType::create); }     \
 
 
 typedef Factory<SensorBase,
@@ -245,9 +245,9 @@ inline std::string AutoConfFactorySensor::getClass()
   return "AutoConfFactorySensor";
 }
 
-#define WOLF_REGISTER_SENSOR_AUTO(SensorType, SensorName)                               \
-  namespace{ const bool WOLF_UNUSED SensorName##AutoConfRegistered =                    \
-     AutoConfFactorySensor::get().registerCreator(SensorType, SensorName::create); }    \
+#define WOLF_REGISTER_SENSOR_AUTO(SensorType)                               \
+  namespace{ const bool WOLF_UNUSED SensorType##AutoConfRegistered =                    \
+     AutoConfFactorySensor::get().registerCreator(#SensorType, SensorType::create); }    \
 
 
 } /* namespace wolf */
diff --git a/include/core/solver/factory_solver.h b/include/core/solver/factory_solver.h
index 4c9971d90a86a57b8254b21a4fc0cad6775b9ee1..b055217828d887169f8e732138b43a4f2067c62a 100644
--- a/include/core/solver/factory_solver.h
+++ b/include/core/solver/factory_solver.h
@@ -219,9 +219,9 @@ inline std::string FactorySolver::getClass()
   return "FactorySolver";
 }
 
-#define WOLF_REGISTER_SOLVER(SolverType, SolverName) \
-  namespace{ const bool WOLF_UNUSED SolverName##Registered = \
-     wolf::FactorySolver::get().registerCreator(SolverType, SolverName::create); } \
+#define WOLF_REGISTER_SOLVER(SolverType) \
+  namespace{ const bool WOLF_UNUSED SolverType##Registered = \
+     wolf::FactorySolver::get().registerCreator(#SolverType, SolverType::create); } \
 
 } /* namespace wolf */
 
diff --git a/include/core/tree_manager/factory_tree_manager.h b/include/core/tree_manager/factory_tree_manager.h
index 7b421461c4c636a5a87ccc35b87fc83213d5b4d0..91f2b9531d91bdad952760a0670ceece4240e86a 100644
--- a/include/core/tree_manager/factory_tree_manager.h
+++ b/include/core/tree_manager/factory_tree_manager.h
@@ -38,9 +38,9 @@ inline std::string FactoryTreeManager::getClass()
   return "FactoryTreeManager";
 }
 
-#define WOLF_REGISTER_TREE_MANAGER(TreeManagerType, TreeManagerName)                                   \
-  namespace{ const bool WOLF_UNUSED TreeManagerName##Registered =                                 \
-    wolf::FactoryTreeManager::get().registerCreator(TreeManagerType, TreeManagerName::create); }      \
+#define WOLF_REGISTER_TREE_MANAGER(TreeManagerType)                     \
+  namespace{ const bool WOLF_UNUSED TreeManagerType##Registered =                                 \
+    wolf::FactoryTreeManager::get().registerCreator(#TreeManagerType, TreeManagerType::create); }      \
 
 typedef Factory<TreeManagerBase,
         const std::string&,
@@ -52,9 +52,9 @@ inline std::string AutoConfFactoryTreeManager::getClass()
 }
 
 
-#define WOLF_REGISTER_TREE_MANAGER_AUTO(TreeManagerType, TreeManagerName)                                  \
-  namespace{ const bool WOLF_UNUSED TreeManagerName##AutoConfRegistered =                             \
-    wolf::AutoConfFactoryTreeManager::get().registerCreator(TreeManagerType, TreeManagerName::create); }  \
+#define WOLF_REGISTER_TREE_MANAGER_AUTO(TreeManagerType)                                  \
+  namespace{ const bool WOLF_UNUSED TreeManagerType##AutoConfRegistered =                             \
+    wolf::AutoConfFactoryTreeManager::get().registerCreator(#TreeManagerType, TreeManagerType::create); }  \
 
 } /* namespace wolf */