diff --git a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h
index c1eed73f9df22f8b0275e6c08817f225085a4a82..d036550654e5b20853f0539c85f879397e16d60c 100644
--- a/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h
+++ b/GeoModelCore/GeoModelKernel/GeoModelKernel/GeoTransform.h
@@ -24,21 +24,21 @@ class GeoTransform : public GeoGraphNode {
     GeoTransform(const GeoTrf::Transform3D& transform);
 
 
-  /// Gets the total transformation.
-  virtual GeoTrf::Transform3D getTransform(const GeoVAlignmentStore* store=nullptr) const;
+    /// Gets the total transformation.
+    virtual GeoTrf::Transform3D getTransform(const GeoVAlignmentStore* store=nullptr) const;
 
-  /// Gets the default transformation (no alignment correction)
-  GeoTrf::Transform3D getDefTransform(const GeoVAlignmentStore* store=nullptr) const;
+    /// Gets the default transformation (no alignment correction)
+    const GeoTrf::Transform3D& getDefTransform(const GeoVAlignmentStore* store=nullptr) const;
 
-  ///	Executes a GeoNodeAction.
-  virtual void exec(GeoNodeAction *action) const override final;
+    ///	Executes a GeoNodeAction.
+    virtual void exec(GeoNodeAction *action) const override final;
   
  protected:
-  virtual ~GeoTransform()  = default;
+    virtual ~GeoTransform()  = default;
 
  private:
-  // The Euclidean (Rigid Body) transform.
-  GeoTrf::Transform3D m_transform{GeoTrf::Transform3D::Identity()};
+    // The Euclidean (Rigid Body) transform.
+    GeoTrf::Transform3D m_transform{GeoTrf::Transform3D::Identity()};
 };
 
 #endif
diff --git a/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx b/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx
index e0bddc96885bc2bb6d7c7312f8e9de6e757e46e3..e5c08560f6c06140fd153d6d733af841a993ab1c 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoAlignableTransform.cxx
@@ -24,16 +24,16 @@ GeoTrf::Transform3D GeoAlignableTransform::getTransform(const GeoVAlignmentStore
 {
   if(store) {
     const GeoTrf::Transform3D* delta = store->getDelta(this);
-    return GeoTransform::getTransform(nullptr) * (!delta ? GeoTrf::Transform3D::Identity() : *delta);
+    return getDefTransform(store) * (!delta ? GeoTrf::Transform3D::Identity() : *delta);
   }
-  else {
+  else if (m_delta) {
     std::scoped_lock<std::mutex> guard(m_deltaMutex);
-    return GeoTransform::getTransform(nullptr) * (!m_delta ? GeoTrf::Transform3D::Identity() : *m_delta);
+    return getDefTransform(store) * (*m_delta);
   }
+  return getDefTransform(store);
 }
 
-void GeoAlignableTransform::setDelta(const GeoTrf::Transform3D& delta, GeoVAlignmentStore* store)
-{
+void GeoAlignableTransform::setDelta(const GeoTrf::Transform3D& delta, GeoVAlignmentStore* store) {
   if(!store) {
     {
       std::scoped_lock<std::mutex> guard(m_deltaMutex);
diff --git a/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx b/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx
index c37e7e13c12cf6371f5739f71e05470adc6a8e4b..d9543ee348bacca073c136faf8dca9d0e8b2196c 100755
--- a/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx
+++ b/GeoModelCore/GeoModelKernel/src/GeoTransform.cxx
@@ -15,7 +15,7 @@ GeoTrf::Transform3D GeoTransform::getTransform(const GeoVAlignmentStore* /*store
   return m_transform;
 }
 
-GeoTrf::Transform3D GeoTransform::getDefTransform(const GeoVAlignmentStore* /*store*/) const {
+const GeoTrf::Transform3D& GeoTransform::getDefTransform(const GeoVAlignmentStore* /*store*/) const {
   return m_transform;
 }