diff --git a/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp b/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp
index 338bdc68adb2918c40707048664c773447404fa4..837fcbcf8278e12b120b3dc9ff0a0b1de514fc9a 100644
--- a/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp
+++ b/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp
@@ -84,60 +84,43 @@ namespace armarx::armem::server::obj
 
         instance::SegmentAdapter::init();
 
-        // class segment
-        try
+        const auto initSegmentWithCatch = [&](const std::string & segmentName, const auto&& fn)
         {
-            classSegment.init();
-        }
-        catch (const LocalException& e)
-        {
-            ARMARX_ERROR << "Failed to init class segment. Reason: \n" << e.what();
-        }
-        catch (const std::exception& e)
-        {
-            ARMARX_ERROR << "Failed to init class segment. Reason: \n" << e.what();
-        }
-        catch (...)
+            try
+            {
+                fn();
+            }
+            catch (const LocalException& e)
+            {
+                ARMARX_ERROR << "Failed to init " << segmentName << " segment. Reason: \n" << e.what();
+            }
+            catch (const std::exception& e)
+            {
+                ARMARX_ERROR << "Failed to init " << segmentName << " segment. Reason: \n" << e.what();
+            }
+            catch (...)
+            {
+                ARMARX_ERROR << "Failed to init " << segmentName << " segment for unknown reason.";
+            }
+        };
+
+        initSegmentWithCatch("class", [&]()
         {
-            ARMARX_ERROR << "Failed to init class segment for unknown reason.";
-        }
+            classSegment.init();
+        });
 
-        // articulated object class segment
-        try
+        initSegmentWithCatch("articulated object class", [&]()
         {
             articulatedObjectClassSegment.init();
-        }
-        catch (const LocalException& e)
-        {
-            ARMARX_ERROR << "Failed to init class segment. Reason: \n" << e.what();
-        }
-        catch (const std::exception& e)
-        {
-            ARMARX_ERROR << "Failed to init class segment. Reason: \n" << e.what();
-        }
-        catch (...)
-        {
-            ARMARX_ERROR << "Failed to init class segment for unknown reason.";
-        }
+        });
 
-        // articulated object instance segment
-        try
+        initSegmentWithCatch("articulated object instance", [&]()
         {
             articulatedObjectInstanceSegment.setArticulatedObjectClassSegment(articulatedObjectClassSegment);
             articulatedObjectInstanceSegment.init();
-        }
-        catch (const LocalException& e)
-        {
-            ARMARX_ERROR << "Failed to init class segment. Reason: \n" << e.what();
-        }
-        catch (const std::exception& e)
-        {
-            ARMARX_ERROR << "Failed to init class segment. Reason: \n" << e.what();
-        }
-        catch (...)
-        {
-            ARMARX_ERROR << "Failed to init class segment for unknown reason.";
-        }
+        });
+
+
     }
 
     void ObjectMemory::onConnectComponent()
diff --git a/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp b/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp
index 91b9337bc31aed4d0ab00772b78d30765b64bdbb..9f94b015356194d3f31887bccd1852066a99a35c 100644
--- a/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp
+++ b/source/RobotAPI/libraries/armem_objects/client/articulated_object/Reader.cpp
@@ -26,7 +26,7 @@ namespace armarx::armem::articulated_object
 
         if (not description)
         {
-            ARMARX_ERROR << "Unknown object " << name;
+            ARMARX_WARNING << "Unknown object " << name;
             return std::nullopt;
         }