diff --git a/DDCore/src/Shapes.cpp b/DDCore/src/Shapes.cpp
index a422f66235e35f261796fb17165131210e984acf..b784d5bb864a4a165c836c2a1affceb66139c653 100644
--- a/DDCore/src/Shapes.cpp
+++ b/DDCore/src/Shapes.cpp
@@ -318,7 +318,12 @@ Cone& Cone::setDimensions(double z, double rmin1, double rmax1, double rmin2, do
 
 /// Constructor to be used when creating a new object with attribute initialization
 void Tube::make(const string& nam, double rmin, double rmax, double z, double start_phi, double end_phi) {
-  _assign(new TGeoTubeSeg(nam.c_str(), rmin, rmax, z, start_phi/units::deg, end_phi/units::deg),nam,TUBE_TAG,true);
+  // Check if it is a full tube
+  if(fabs(end_phi-start_phi-2*M_PI)<10e-6){
+    _assign(new TGeoTubeSeg(nam.c_str(), rmin, rmax, z, 0, 360.),nam,TUBE_TAG,true);
+  }else{
+    _assign(new TGeoTubeSeg(nam.c_str(), rmin, rmax, z, start_phi/units::deg, end_phi/units::deg),nam,TUBE_TAG,true);
+  }
 }
 
 /// Set the tube dimensions