diff --git a/source/geometry/management/include/G4AffineTransform.icc b/source/geometry/management/include/G4AffineTransform.icc
index 1fc40d9ccec0fc85d01af37727d004486d9490b2..2d5ef7d6413ff7138a52c948cca2a128e2cc786c 100644
--- a/source/geometry/management/include/G4AffineTransform.icc
+++ b/source/geometry/management/include/G4AffineTransform.icc
@@ -24,7 +24,7 @@
 // ********************************************************************
 //
 //
-// $Id: G4AffineTransform.icc 98309 2016-07-06 10:30:15Z gcosmo $
+// $Id: G4AffineTransform.icc 98307 2016-07-06 10:28:35Z gcosmo $
 //
 //
 // G4AffineTransformation Inline implementation
@@ -50,9 +50,7 @@ inline G4AffineTransform::G4AffineTransform(const G4RotationMatrix& rot)
    ryx(rot.yx()),ryy(rot.yy()),ryz(rot.yz()),
    rzx(rot.zx()),rzy(rot.zy()),rzz(rot.zz()),
    tx(0),ty(0),tz(0)
-{
-  if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
-}
+{}
 
 inline G4AffineTransform::G4AffineTransform( const G4RotationMatrix& rot,
                                              const G4ThreeVector& tlate   )
@@ -60,9 +58,7 @@ inline G4AffineTransform::G4AffineTransform( const G4RotationMatrix& rot,
    ryx(rot.yx()),ryy(rot.yy()),ryz(rot.yz()),
    rzx(rot.zx()),rzy(rot.zy()),rzz(rot.zz()),
    tx(tlate.x()),ty(tlate.y()),tz(tlate.z())
-{
-  if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
-}
+{}
 
 inline G4AffineTransform::G4AffineTransform( const G4RotationMatrix* rot,
                                              const G4ThreeVector& tlate)
@@ -73,7 +69,6 @@ inline G4AffineTransform::G4AffineTransform( const G4RotationMatrix* rot,
       rxx=rot->xx();rxy=rot->xy();rxz=rot->xz();
       ryx=rot->yx();ryy=rot->yy();ryz=rot->yz();
       rzx=rot->zx();rzy=rot->zy();rzz=rot->zz();
-      if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
     }
   else
     {
@@ -93,9 +88,7 @@ G4AffineTransform( const G4double prxx,const G4double prxy,const G4double prxz,
    ryx(pryx),ryy(pryy),ryz(pryz),
    rzx(przx),rzy(przy),rzz(przz),
    tx(ptx),ty(pty),tz(ptz)
-{
-  if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
-}
+{}
 
 inline G4AffineTransform
 G4AffineTransform::operator * (const G4AffineTransform& tf) const
@@ -144,7 +137,6 @@ G4AffineTransform::operator *= (const G4AffineTransform& tf)
         ryx=nryx; ryy=nryy; ryz=nryz;
         rzx=nrzx; rzy=nrzy; rzz=nrzz;
 
-        if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
         return *this;
 }
 
@@ -168,7 +160,6 @@ G4AffineTransform::Product(const G4AffineTransform& tf1,
         ty=tf1.tx*tf2.rxy + tf1.ty*tf2.ryy + tf1.tz*tf2.rzy   + tf2.ty;
         tz=tf1.tx*tf2.rxz + tf1.ty*tf2.ryz + tf1.tz*tf2.rzz   + tf2.tz; 
         
-        if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
         return *this;
 }
 
@@ -196,32 +187,34 @@ G4AffineTransform::InverseProduct( const G4AffineTransform& tf1,
         ty=tf1.tx*tf2.ryx+tf1.ty*tf2.ryy+tf1.tz*tf2.ryz+itf2ty;
         tz=tf1.tx*tf2.rzx+tf1.ty*tf2.rzy+tf1.tz*tf2.rzz+itf2tz;
 
-        if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
         return *this;
 }
 
 inline
 G4ThreeVector G4AffineTransform::TransformPoint(const G4ThreeVector& vec) const
 {
-        return G4ThreeVector( vec.x()*rxx + vec.y()*ryx + vec.z()*rzx   + tx,
-                              vec.x()*rxy + vec.y()*ryy + vec.z()*rzy   + ty,
-                              vec.x()*rxz + vec.y()*ryz + vec.z()*rzz   + tz  );
+        G4double vecx = vec.x(), vecy = vec.y(), vecz = vec.z();
+        return G4ThreeVector( vecx*rxx + vecy*ryx + vecz*rzx   + tx,
+                              vecx*rxy + vecy*ryy + vecz*rzy   + ty,
+                              vecx*rxz + vecy*ryz + vecz*rzz   + tz  );
 }
 
 inline
 G4ThreeVector G4AffineTransform::TransformAxis(const G4ThreeVector& axis) const
 {
-        return G4ThreeVector( axis.x()*rxx + axis.y()*ryx + axis.z()*rzx,
-                              axis.x()*rxy + axis.y()*ryy + axis.z()*rzy,
-                              axis.x()*rxz + axis.y()*ryz + axis.z()*rzz  );
+        G4double axisx = axis.x(), axisy = axis.y(), axisz = axis.z();
+        return G4ThreeVector( axisx*rxx + axisy*ryx + axisz*rzx,
+                              axisx*rxy + axisy*ryy + axisz*rzy,
+                              axisx*rxz + axisy*ryz + axisz*rzz  );
 }
 
 inline
 void G4AffineTransform::ApplyPointTransform(G4ThreeVector& vec) const
 {
-        G4double x = vec.x()*rxx + vec.y()*ryx + vec.z()*rzx    + tx;
-        G4double y = vec.x()*rxy + vec.y()*ryy + vec.z()*rzy    + ty;
-        G4double z = vec.x()*rxz + vec.y()*ryz + vec.z()*rzz    + tz;
+        G4double vecx = vec.x(), vecy = vec.y(), vecz = vec.z();
+        G4double x = vecx*rxx + vecy*ryx + vecz*rzx    + tx;
+        G4double y = vecx*rxy + vecy*ryy + vecz*rzy    + ty;
+        G4double z = vecx*rxz + vecy*ryz + vecz*rzz    + tz;
 
         vec.setX(x);
         vec.setY(y);
@@ -231,9 +224,10 @@ void G4AffineTransform::ApplyPointTransform(G4ThreeVector& vec) const
 inline
 void G4AffineTransform::ApplyAxisTransform(G4ThreeVector& axis) const
 {
-        G4double x = axis.x()*rxx + axis.y()*ryx + axis.z()*rzx;
-        G4double y = axis.x()*rxy + axis.y()*ryy + axis.z()*rzy;
-        G4double z = axis.x()*rxz + axis.y()*ryz + axis.z()*rzz;
+        G4double axisx = axis.x(), axisy = axis.y(), axisz = axis.z();
+        G4double x = axisx*rxx + axisy*ryx + axisz*rzx;
+        G4double y = axisx*rxy + axisy*ryy + axisz*rzy;
+        G4double z = axisx*rxz + axisy*ryz + axisz*rzz;
 
         axis.setX(x);
         axis.setY(y);
@@ -396,7 +390,6 @@ void G4AffineTransform::SetNetRotation(const G4RotationMatrix& rot)
         rzx=rot.zx();
         rzy=rot.zy();
         rzz=rot.zz();
-        if (rxx==1. && ryy==1. && rzz==1.) { rxy = rxz = ryx = ryz = rzx = rzy = 0; }
 }
 
 inline