diff --git a/include/core/solver/solver_factory.h b/include/core/solver/solver_factory.h
index 5205ad5c9e1ff18d545dcd43555ecb47b4d780f8..95bab65a735c36946f610ad535fbab43c0516f19 100644
--- a/include/core/solver/solver_factory.h
+++ b/include/core/solver/solver_factory.h
@@ -219,9 +219,9 @@ inline std::string SolverFactory::getClass()
   return "SolverFactory";
 }
 
-#define WOLF_REGISTER_SOLVER(SolverName) \
+#define WOLF_REGISTER_SOLVER(SolverType, SolverName) \
   namespace{ const bool WOLF_UNUSED SolverName##Registered = \
-     wolf::SolverFactory::get().registerCreator("Solver", SolverName::create); } \
+     wolf::SolverFactory::get().registerCreator(SolverType, SolverName::create); } \
 
 } /* namespace wolf */
 
diff --git a/src/ceres_wrapper/ceres_manager.cpp b/src/ceres_wrapper/ceres_manager.cpp
index b64e86ab9008296a57e01c7ed8a3a8061fa88b2b..7d56eefa61707d3aa78d251c893bf37fef689c46 100644
--- a/src/ceres_wrapper/ceres_manager.cpp
+++ b/src/ceres_wrapper/ceres_manager.cpp
@@ -444,6 +444,6 @@ void CeresManager::check()
 } // namespace wolf
 #include "core/solver/solver_factory.h"
 namespace wolf {
-    WOLF_REGISTER_SOLVER(CeresManager)
+    WOLF_REGISTER_SOLVER("CERES", CeresManager)
 } // namespace wolf