diff --git a/InnerDetector/InDetDetDescr/PixelLayouts/BarrelInclinedRef/src/GeoPixelSlimStaveSupportRef.cxx b/InnerDetector/InDetDetDescr/PixelLayouts/BarrelInclinedRef/src/GeoPixelSlimStaveSupportRef.cxx
index ddfccb7bfd608f13864217e01dc8e88bc56897d9..3032b792f9ce13956b8f622d0e504e473c22586f 100755
--- a/InnerDetector/InDetDetDescr/PixelLayouts/BarrelInclinedRef/src/GeoPixelSlimStaveSupportRef.cxx
+++ b/InnerDetector/InDetDetDescr/PixelLayouts/BarrelInclinedRef/src/GeoPixelSlimStaveSupportRef.cxx
@@ -66,8 +66,9 @@ void GeoPixelSlimStaveSupportInclRef::preBuild() {
   double eosLength       = (staveDBHelper.getStaveSupportLength() * 0.5) - (brlZMax + m_planarGap);
   double eosZPos         = brlZMax + m_planarGap + (eosLength *  0.5);
   
-  double outerOffsetMid = 0.25*(eosBaseWidth - eosTopWidth) + 0.000001;           // Dy>0 if top width < bottom width, i.e. sides point inwards, add epsilon to avoid FPE
-  double eosShellAngle  = atan( (0.5*radialLength) / outerOffsetMid);
+  double outerOffsetMid = 0.25*(eosBaseWidth - eosTopWidth);           // Dy>0 if top width < bottom width, i.e. sides point inwards
+  double eosShellAngle  = 90*CLHEP::degree;//assume this as default value since this is the limit of atan(x) as x goes to infinity (such as when dividing by radial length by zero, which can happen for some pixel geometries)
+  if(outerOffsetMid!=0) eosShellAngle  = atan( (0.5*radialLength) / outerOffsetMid);
   if (eosShellAngle < 0.0) eosShellAngle = eosShellAngle + 180*CLHEP::degree; // Ensure angle is always positive to avoid heaches with sin and tan
 
   double halfEosRadius = 0.5*radialLength;