diff --git a/DDCAD/include/DDCAD/Utilities.h b/DDCAD/include/DDCAD/Utilities.h
index 1b0a86f0839ebc275961a2344fc7357421f713a3..a7e8f511d5a86ee3362e6798002be038f2f1368e 100644
--- a/DDCAD/include/DDCAD/Utilities.h
+++ b/DDCAD/include/DDCAD/Utilities.h
@@ -54,25 +54,6 @@ namespace dd4hep {
     }
     // Determine if the facet is degenerated by calculating its determinant
     inline bool facetIsDegenerated(std::vector<ROOT::Geom::Vertex_t> const& vertices){
-#if 0
-      const ROOT::Geom::Vertex_t& v1 = vertices[0];
-      const ROOT::Geom::Vertex_t& v2 = vertices[1];
-      const ROOT::Geom::Vertex_t& v3 = vertices[2];
-      constexpr double epsilon = std::numeric_limits<double>::epsilon();
-      // v1.x v2.x v3.x v1.x v2.x
-      //
-      // v1.y v2.y v3.y	v1.y v2.y
-      //
-      // v1.z v2.z v3.z	v1.z v2.z
-      double det =  0.0
-        + v1.x() * v2.y() * v3.z()
-        + v2.x() * v3.y() * v1.z()
-        + v3.x() * v1.y() * v2.z()
-        - v1.z() * v2.y() * v3.x()
-        - v2.z() * v3.y() * v1.x()
-        - v3.z() * v1.y() * v2.x();
-      return std::fabs(det) < epsilon;
-#else
       using ROOT::Geom::Vertex_t;
       // Compute normal using non-zero segments
       constexpr double kTolerance = 1.e-20;
@@ -99,7 +80,6 @@ namespace dd4hep {
           break;
       }
       return degenerated;
-#endif
     }
   }
 }
diff --git a/DDCAD/src/ASSIMPReader.cpp b/DDCAD/src/ASSIMPReader.cpp
index 78e9e7f5c7469cdab603488cf6af0d52e824b69f..03b9166f5d0c21b120a4389c60881ca56143cce2 100644
--- a/DDCAD/src/ASSIMPReader.cpp
+++ b/DDCAD/src/ASSIMPReader.cpp
@@ -117,7 +117,12 @@ ASSIMPReader::readVolumes(const std::string& source, double unit_length)  const
       ///       assigns the proper indices to the facet.
       for(unsigned int i=0; i < mesh->mNumFaces; i++)  {
         const unsigned int* idx  = mesh->mFaces[i].mIndices;
-        bool degenerated = dd4hep::cad::facetIsDegenerated({vertices[idx[0]], vertices[idx[1]], vertices[idx[2]]});
+        bool degenerated = false;
+        if ( mesh->mFaces[i].mNumIndices == 3 )
+          degenerated = dd4hep::cad::facetIsDegenerated({vertices[idx[0]], vertices[idx[1]], vertices[idx[2]]});
+        else if ( mesh->mFaces[i].mNumIndices == 4 )
+          degenerated = dd4hep::cad::facetIsDegenerated({vertices[idx[0]], vertices[idx[1]], vertices[idx[2]], vertices[idx[3]]});
+        
         if ( degenerated )   {
           printout(DEBUG, "ASSIMPReader", "+++ %s: Drop degenerated facet: %d %d %d",
                    name.c_str(), idx[0], idx[1], idx[2]);