diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp
index 7dded894331809986a991351f0eb7c7675b11812..53378a6976889f4169be8ea35d4f8560df9bf96f 100644
--- a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp
+++ b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp
@@ -74,6 +74,7 @@ namespace armarx::armem
         {
             ice.aronType = providerSegment.aronType()->getResult();
         }
+        ARMARX_CHECK(!providerSegment.aronType() || ice.aronType);
         toIce(ice.entities, providerSegment.entities());
     }
     void fromIce(const data::ProviderSegment& ice, wm::ProviderSegment& providerSegment)
@@ -84,6 +85,7 @@ namespace armarx::armem
         {
             providerSegment.aronType() = aron::typenavigator::ObjectNavigator::DynamicCastAndCheck(aron::typenavigator::Navigator::FromAronType(ice.aronType));
         }
+        ARMARX_CHECK(!providerSegment.aronType() || ice.aronType);
         fromIce(ice.entities, providerSegment.entities());
     }
 
@@ -95,6 +97,7 @@ namespace armarx::armem
         {
             ice.aronType = coreSegment.aronType()->getResult();
         }
+        ARMARX_CHECK(!coreSegment.aronType() || ice.aronType);
         toIce(ice.providerSegments, coreSegment.providerSegments());
     }
     void fromIce(const data::CoreSegment& ice, wm::CoreSegment& coreSegment)
@@ -105,6 +108,7 @@ namespace armarx::armem
         {
             coreSegment.aronType() = aron::typenavigator::ObjectNavigator::DynamicCastAndCheck(aron::typenavigator::Navigator::FromAronType(ice.aronType));
         }
+        ARMARX_CHECK(!coreSegment.aronType() || ice.aronType);
         fromIce(ice.providerSegments, coreSegment.providerSegments());
     }