diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx
index 540b8b75249fabfdaaeb405acd11e29d5fbdeeab..137e2568fffb0b374d3bb469d4ae933284d7dc2a 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/MakeShapeShift.cxx
@@ -57,6 +57,6 @@ GeoIntrusivePtr<RCBase> MakeShapeShift::make(const xercesc::DOMElement *element,
     if (!sorter.compare(GeoTrf::Transform3D::Identity(), hepXf)) {
         return shape;
     }    
-    return cacheShape(make_intrusive<GeoShapeShift>(shape, hepXf));
+    return const_cast(cacheShape(make_intrusive<GeoShapeShift>(shape, hepXf)));
 }