diff --git a/DDCore/include/DD4hep/Shapes.h b/DDCore/include/DD4hep/Shapes.h
index 8e5aab7568dcb9eb0c03c0b076ccf639ba07827e..3b8e700eaf8e72a869f1ac31bd9a1d204a173977 100644
--- a/DDCore/include/DD4hep/Shapes.h
+++ b/DDCore/include/DD4hep/Shapes.h
@@ -709,10 +709,10 @@ namespace dd4hep {
     /// Constructor to create a new anonymous object with attribute initialization
     Sphere(double rmin, double rmax, double theta = 0., double delta_theta = M_PI, double phi = 0.0, double delta_phi = 2. * M_PI)
     {  make(rmin, rmax, theta, delta_theta, phi, delta_phi);     }
+    /// Constructor to create a new anonymous object with generic attribute initialization
     template<typename RMIN,         typename RMAX,
              typename THETA=double, typename DELTA_THETA=double,
              typename PHI=double,   typename DELTA_PHI=double>
-    /// Constructor to create a new anonymous object with attribute initialization
     Sphere(RMIN rmin, RMAX rmax,
            THETA theta = 0., DELTA_THETA delta_theta = M_PI,
            PHI phi = 0.0, DELTA_PHI delta_phi = 2. * M_PI)  {
diff --git a/DDCore/src/plugins/ShapePlugins.cpp b/DDCore/src/plugins/ShapePlugins.cpp
index 080b7b77903041cf7b2754d55ecefce0480005b9..6290fdf1b58eb85392b489737f753b3703bd48d6 100644
--- a/DDCore/src/plugins/ShapePlugins.cpp
+++ b/DDCore/src/plugins/ShapePlugins.cpp
@@ -175,13 +175,22 @@ static Handle<TObject> create_PseudoTrap(Detector&, xml_h element)   {
 }
 DECLARE_XML_SHAPE(PseudoTrap__shape_constructor,create_PseudoTrap)
 
-static Handle<TObject> create_Trapezoid(Detector&, xml_h element)   {
+static Handle<TObject> create_Trd1(Detector&, xml_h element)   {
   xml_dim_t e(element);
-  Solid solid = Trapezoid(e.x1(),e.x2(),e.y1(),e.y2(),e.z(0.0));
+  Solid solid = Trd1(e.x1(),e.x2(),e.y(),e.z(0.0));
   if ( e.hasAttr(_U(name)) ) solid->SetName(e.attr<string>(_U(name)).c_str());
   return solid;
 }
-DECLARE_XML_SHAPE(Trapezoid__shape_constructor,create_Trapezoid)
+DECLARE_XML_SHAPE(Trd1__shape_constructor,create_Trd1)
+
+static Handle<TObject> create_Trd2(Detector&, xml_h element)   {
+  xml_dim_t e(element);
+  Solid solid = Trd2(e.x1(),e.x2(),e.y1(),e.y2(),e.z(0.0));
+  if ( e.hasAttr(_U(name)) ) solid->SetName(e.attr<string>(_U(name)).c_str());
+  return solid;
+}
+DECLARE_XML_SHAPE(Trapezoid__shape_constructor,create_Trd2)
+DECLARE_XML_SHAPE(Trd2__shape_constructor,create_Trd2)
 
 static Handle<TObject> create_Torus(Detector&, xml_h element)   {
   xml_dim_t e(element);
diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt
index ef74e81565eb36e1c2e65472b2dd51831aa887c9..fde1de9707fc7bf5429a0cfceb9637d0d8bd131a 100644
--- a/examples/ClientTests/CMakeLists.txt
+++ b/examples/ClientTests/CMakeLists.txt
@@ -164,7 +164,7 @@ dd4hep_add_test_reg( ClientTests_Save_ROOT_MiniTel_LONGTEST
 foreach (test Box Cone ConeSegment Tube ElTube
     CutTube Hyperboloid Paraboloid
     Polycone PseudoTrap Sphere Torus
-    Trap Trapezoid TruncatedTube ExtrudedPolygon)
+    Trap Trd1 Trd2 TruncatedTube ExtrudedPolygon)
   dd4hep_add_test_reg( ClientTests_Check_Shape_${test}
       COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_ClientTests.sh"
       EXEC_ARGS  geoDisplay file:${ClientTestsEx_INSTALL}/compact/Check_Shape_${test}.xml -load -destroy
diff --git a/examples/ClientTests/compact/Check_Shape_Trd1.xml b/examples/ClientTests/compact/Check_Shape_Trd1.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a0174cba4c8a57d4a35f51b4f4c86a267beb8607
--- /dev/null
+++ b/examples/ClientTests/compact/Check_Shape_Trd1.xml
@@ -0,0 +1,21 @@
+<lccdd>
+  <includes>
+    <gdmlFile ref="CheckShape.xml"/>
+  </includes>
+
+  <detectors>
+    <detector id="1" name="Shape_Trd1" type="DD4hep_TestShape_Creator">
+      <check vis="Shape1_vis">
+        <shape type="Trd1" z="80*cm" x1="25*cm" x2="50*cm" y="20*cm"/>
+        <position x="30"  y="30" z="50"/>
+        <rotation x="-pi/4"   y="pi/4"  z="pi/8"/>
+      </check>
+      <check vis="Shape2_vis">
+        <shape type="Trd1" z="120*cm" x1="44*cm" x2="10*cm" y="5*cm"/>
+        <position x="-30"  y="30" z="-100"/>
+        <rotation x="pi/2"   y="0"  z="pi/8"/>
+      </check>
+      <test  type="DD4hep_Mesh_Verifier" ref="${DD4hepExamplesINSTALL}/examples/ClientTests/ref/Ref_Trd1.txt" create="CheckShape_create"/>
+    </detector>
+  </detectors>
+</lccdd>
diff --git a/examples/ClientTests/compact/Check_Shape_Trd2.xml b/examples/ClientTests/compact/Check_Shape_Trd2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..be5f9998371abf2ae42f93ff72e091e7b30ddb3c
--- /dev/null
+++ b/examples/ClientTests/compact/Check_Shape_Trd2.xml
@@ -0,0 +1,16 @@
+<lccdd>
+  <includes>
+    <gdmlFile ref="CheckShape.xml"/>
+  </includes>
+
+  <detectors>
+    <detector id="1" name="Shape_Trd2" type="DD4hep_TestShape_Creator">
+      <check vis="Shape1_vis">
+        <shape type="Trd2" z="30*cm" x1="30*cm" x2="50*cm" y1="15*cm" y2="30*cm"/>
+        <position x="30"  y="30" z="50"/>
+        <rotation x="0"   y="0"  z="0"/>
+      </check>
+      <test  type="DD4hep_Mesh_Verifier" ref="${DD4hepExamplesINSTALL}/examples/ClientTests/ref/Ref_Trd2.txt" create="CheckShape_create"/>
+    </detector>
+  </detectors>
+</lccdd>
diff --git a/examples/ClientTests/ref/Ref_Trd1.txt b/examples/ClientTests/ref/Ref_Trd1.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0eecc22adac4ca4716289560fc83962494878d2f
--- /dev/null
+++ b/examples/ClientTests/ref/Ref_Trd1.txt
@@ -0,0 +1,22 @@
+ShapeCheck[0] TGeoTrd1         8 Mesh-points:
+TGeoTrd1         Trd1 N(mesh)=8  N(vert)=8  N(seg)=12  N(pols)=6
+TGeoTrd1         0   Local  ( -25.00,  -20.00,  -80.00) Global ( -37.49,  -22.11,   37.55)
+TGeoTrd1         1   Local  ( -25.00,   20.00,  -80.00) Global ( -48.31,   11.68,   19.07)
+TGeoTrd1         2   Local  (  25.00,   20.00,  -80.00) Global ( -15.65,    2.11,  -17.55)
+TGeoTrd1         3   Local  (  25.00,  -20.00,  -80.00) Global (  -4.82,  -31.68,    0.93)
+TGeoTrd1         4   Local  ( -50.00,  -20.00,   80.00) Global (  59.32,   62.67,  135.87)
+TGeoTrd1         5   Local  ( -50.00,   20.00,   80.00) Global (  48.49,   96.46,  117.39)
+TGeoTrd1         6   Local  (  50.00,   20.00,   80.00) Global ( 113.82,   77.33,   44.13)
+TGeoTrd1         7   Local  (  50.00,  -20.00,   80.00) Global ( 124.64,   43.54,   62.61)
+TGeoTrd1         Bounding box:  dx=  50.00 dy=  20.00 dz=  80.00 Origin: x=   0.00 y=   0.00 z=   0.00
+ShapeCheck[1] TGeoTrd1         8 Mesh-points:
+TGeoTrd1         Trd1 N(mesh)=8  N(vert)=8  N(seg)=12  N(pols)=6
+TGeoTrd1         0   Local  ( -44.00,   -5.00, -120.00) Global ( -68.74,  150.00, -121.46)
+TGeoTrd1         1   Local  ( -44.00,    5.00, -120.00) Global ( -72.56,  150.00, -112.22)
+TGeoTrd1         2   Local  (  44.00,    5.00, -120.00) Global (   8.74,  150.00,  -78.54)
+TGeoTrd1         3   Local  (  44.00,   -5.00, -120.00) Global (  12.56,  150.00,  -87.78)
+TGeoTrd1         4   Local  ( -10.00,   -5.00,  120.00) Global ( -37.33,  -90.00, -108.45)
+TGeoTrd1         5   Local  ( -10.00,    5.00,  120.00) Global ( -41.15,  -90.00,  -99.21)
+TGeoTrd1         6   Local  (  10.00,    5.00,  120.00) Global ( -22.67,  -90.00,  -91.55)
+TGeoTrd1         7   Local  (  10.00,   -5.00,  120.00) Global ( -18.85,  -90.00, -100.79)
+TGeoTrd1         Bounding box:  dx=  44.00 dy=   5.00 dz= 120.00 Origin: x=   0.00 y=   0.00 z=   0.00
diff --git a/examples/ClientTests/ref/Ref_Trapezoid.txt b/examples/ClientTests/ref/Ref_Trd2.txt
similarity index 92%
rename from examples/ClientTests/ref/Ref_Trapezoid.txt
rename to examples/ClientTests/ref/Ref_Trd2.txt
index 6f76c76764bc4b6161c61590e5805cdd59f4dfa1..632a05d32a4d10a8758fabed0d01f0bf5017ab93 100644
--- a/examples/ClientTests/ref/Ref_Trapezoid.txt
+++ b/examples/ClientTests/ref/Ref_Trd2.txt
@@ -1,5 +1,5 @@
 ShapeCheck[0] TGeoTrd2         8 Mesh-points:
-TGeoTrd2         Trapezoid N(mesh)=8  N(vert)=8  N(seg)=12  N(pols)=6
+TGeoTrd2         Trd2 N(mesh)=8  N(vert)=8  N(seg)=12  N(pols)=6
 TGeoTrd2         0   Local  ( -30.00,  -15.00,  -30.00) Global (   0.00,   15.00,   20.00)
 TGeoTrd2         1   Local  ( -30.00,   15.00,  -30.00) Global (   0.00,   45.00,   20.00)
 TGeoTrd2         2   Local  (  30.00,   15.00,  -30.00) Global (  60.00,   45.00,   20.00)