diff --git a/compact/central_tracker.xml b/compact/central_tracker.xml
index f7d1a8244f9a2cd2435c2f021cdedb08a4ae7da3..8d67c7bee5aed91a36a444b16867646606e11a2e 100644
--- a/compact/central_tracker.xml
+++ b/compact/central_tracker.xml
@@ -33,9 +33,9 @@
     </comment>
 
     <constant name="TrackerBarrelLayer_rOffset"     value="0.5*cm"/>
-    <constant name="TrackerBarrelSpaceFrame_width"   value="4.0*cm"/>
-    <constant name="TrackerBarrelSpaceFrame_height"  value="1.0835*cm"/>
-    <constant name="TrackerSensor_thickness"         value="0.04*mm"/> 
+    <constant name="TrackerBarrelSpaceFrame_width"  value="4.0*cm"/>
+    <constant name="TrackerBarrelSpaceFrame_height" value="1.0835*cm"/>
+    <constant name="TrackerSensor_thickness"        value="0.04*mm"/> 
 
     <constant name="TrackerBarrelInner_rmin1"       value="21.0*cm"/>    
     <constant name="TrackerBarrelInner_rmin2"       value="22.68*cm"/>
@@ -48,12 +48,11 @@
     <constant name="TrackerBarrelOuter_length1"     value="105.0*cm"/>
     <constant name="TrackerBarrelOuter_length2"     value="114.0*cm"/>
 
-    <constant name="TrackerBarrelInner_thickness"  value="TrackerBarrelInner_rmin2 - TrackerBarrelInner_rmin1"/>
-    <constant name="TrackerBarrelOuter_thickness"  value="TrackerBarrelOuter_rmin2 - TrackerBarrelOuter_rmin1"/>
-    <constant name="TrackerBarrelInner_length"     value="TrackerBarrelInner_length2+1.0*cm"/>
-    <constant name="TrackerBarrelOuter_length"     value="TrackerBarrelOuter_length2+1.0*cm"/>
-
+    <constant name="TrackerBarrelInner_thickness"   value="TrackerBarrelInner_rmin2 - TrackerBarrelInner_rmin1"/>
+    <constant name="TrackerBarrelOuter_thickness"   value="TrackerBarrelOuter_rmin2 - TrackerBarrelOuter_rmin1"/>
 
+    <constant name="TrackerBarrelInner_length"      value="TrackerBarrelInner_length2+1.0*cm"/>
+    <constant name="TrackerBarrelOuter_length"      value="TrackerBarrelOuter_length2+1.0*cm"/>
 
     <comment>
       Here we are assuming the two endcaps (P and N) are symmetric.
@@ -64,19 +63,19 @@
     <constant name="TrackerEndcapInner_nLayers"          value="1"/>
     <constant name="TrackerEndcapOuter_nLayers"          value="3"/>
 
-    <constant name="TrackerEndcapInner_zmin"        value="TrackerBarrelInner_length/2.0"/>
-    <constant name="TrackerEndcapInner_zmax"        value="TrackerBarrelOuter_length/2.0"/>
-    <constant name="TrackerEndcapInner_length"        value="TrackerEndcapInner_zmax- TrackerEndcapInner_zmin"/>
-    <constant name="TrackerEndcapInnerLayer_dz"        value="TrackerEndcapInner_length/TrackerEndcapInner_nLayers"/>
-    <constant name="TrackerEndcapInnerLayer_thickness"        value="TrackerEndcapInnerLayer_dz - 0.5*cm"/>
+    <constant name="TrackerEndcapInner_zmin"            value="TrackerBarrelInner_length2/2.0 + 1.0*cm"/>
+    <constant name="TrackerEndcapInner_zmax"            value="TrackerBarrelOuter_length1/2.0 - 1.0*cm"/>
+    <constant name="TrackerEndcapInner_length"          value="TrackerEndcapInner_zmax- TrackerEndcapInner_zmin"/>
+    <constant name="TrackerEndcapInnerLayer_dz"         value="TrackerEndcapInner_length/TrackerEndcapInner_nLayers"/>
+    <constant name="TrackerEndcapInnerLayer_thickness"  value="min(5.0*cm,TrackerEndcapInnerLayer_dz - 0.5*cm)"/>
     <comment> Note, the -1.0*cm is so the layers do not touch surfaces. 
       This is a limitation of ACTS geometry which will likely go away in the future.</comment>
 
-    <constant name="TrackerEndcapOuter_zmin"        value="TrackerBarrelOuter_length/2.0"/>
-    <constant name="TrackerEndcapOuter_zmax"        value="TrackerEndcapOuter_zmin + 70"/>
-    <constant name="TrackerEndcapOuter_length"        value="TrackerEndcapOuter_zmax- TrackerEndcapOuter_zmin"/>
-    <constant name="TrackerEndcapOuterLayer_dz"        value="TrackerEndcapOuter_length/TrackerEndcapOuter_nLayers"/>
-    <constant name="TrackerEndcapOuterLayer_thickness"        value="TrackerEndcapOuterLayer_dz - 1.0*cm"/>
+    <constant name="TrackerEndcapOuter_zmin"             value="TrackerBarrelOuter_length/2.0"/>
+    <constant name="TrackerEndcapOuter_zmax"             value="TrackerEndcapOuter_zmin + 70"/>
+    <constant name="TrackerEndcapOuter_length"           value="TrackerEndcapOuter_zmax- TrackerEndcapOuter_zmin"/>
+    <constant name="TrackerEndcapOuterLayer_dz"          value="TrackerEndcapOuter_length/TrackerEndcapOuter_nLayers"/>
+    <constant name="TrackerEndcapOuterLayer_thickness"   value="min(5.0*cm,TrackerEndcapOuterLayer_dz - 1.0*cm)"/>
     <comment> Note, the -1.0*cm is so the layers do not touch surfaces. 
       This is a limitation of ACTS geometry which will likely go away in the future.</comment>
 
@@ -206,11 +205,11 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapInner_rmin1"
           rmax="TrackerEndcapInner_rmax1"
-          length="TrackerEndcapInnerLayer_dz"
-          zstart="TrackerEndcapInner_zmin" />
+          length="TrackerEndcapInnerLayer_thickness"
+          zstart="TrackerEndcapInner_zmin + TrackerEndcapInner_length/2.0" />
         <ring vis="AnlRed"
           r="TrackerEndcapInner_rmin1+TrackerEndcapInnerMod1_y/2.0"
-          zstart="(50.0*mm)"
+          zstart="0.0"
           nmodules="12" dz="2.5 * mm" module="Module1" />
       </layer>
     </detector>
@@ -231,11 +230,11 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapInner_rmin1"
           rmax="TrackerEndcapInner_rmax1"
-          length="TrackerEndcapInnerLayer_dz"
-          zstart="TrackerEndcapInner_zmin" />
+          length="TrackerEndcapInnerLayer_thickness"
+          zstart="TrackerEndcapInner_zmin + TrackerEndcapInner_length/2.0" />
         <ring vis="AnlRed"
           r="TrackerEndcapInner_rmin1+TrackerEndcapInnerMod1_y/2.0" 
-          zstart="-(50.0*mm)"
+          zstart="0"
           nmodules="12" dz="2.5 * mm" module="Module1" />
       </layer>
     </detector>
@@ -312,8 +311,11 @@
       name="TrackerEndcapP_Outer"
       type="athena_TrapEndcapTracker"
       readout="TrackerEndcapHits"
-      vis="AnlRed"
+      vis="TrackerVis"
       reflect="false">
+      <support vis="TrackerSupportVis"  material="CarbonFiber_25percent"
+        rmin="TrackerEndcapOuter_rmax3+1.0*mm"
+        thickness="2.0*mm" length="TrackerEndcapOuter_length" zstart="TrackerEndcapOuter_zmin" />
       <module name="Module1" vis="AnlProcess_Blue">
         <trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/>
         <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
@@ -371,6 +373,9 @@
       readout="TrackerEndcapHits"
       vis="AnlRed"
       reflect="true">
+      <support vis="TrackerSupportVis"  material="CarbonFiber_25percent"
+        rmin="TrackerEndcapOuter_rmax3+1.0*mm"
+        thickness="2.0*mm" length="TrackerEndcapOuter_length" zstart="TrackerEndcapOuter_zmin" />
       <module name="Module1" vis="AnlProcess_Blue">
         <trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/>
         <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/>
diff --git a/compact/definitions.xml b/compact/definitions.xml
index 865628c5f738701868764d13cf31cbaf24022f40..162f937e46e5289c7048b5f27578e73164ed5388 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -113,8 +113,6 @@ The unused IDs below are saved for future use.
     <constant name="TrackerEndcapP_Layer5_ID"     value="69"/>
     <constant name="TrackerEndcapN_Layer5_ID"     value="70"/>
 
-
-
     <documentation>
     #### (75-84) Barrel Tracker IDs
 
diff --git a/compact/display.xml b/compact/display.xml
index 2aeb55714c26ce59bdc3560ceee2e269b34d6d6d..ad508f310f2af1e8de489fc6efb4e194c70d2ac0 100644
--- a/compact/display.xml
+++ b/compact/display.xml
@@ -10,7 +10,8 @@
     <comment>
       Tracking Visualizations
     </comment>
-    <vis name="TrackerSupportVis" ref="AnlBlue"         showDaughters="false" />
+    <vis name="TrackerVis"        ref="AnlRed"      />
+    <vis name="TrackerSupportVis" ref="AnlBlue"         visible="true"  showDaughters="true" />
     <vis name="TrackerLayerVis"   ref="AnlTeal"         visible="true"  showDaughters="true" />
     <vis name="TrackerModuleVis"  ref="TrackerLayerVis" visible="true"  showDaughters="false" />
 
diff --git a/compact/vertex_tracker.xml b/compact/vertex_tracker.xml
index 1cfc9065d6aef2aab67a81e3b936b157b39c54b6..bfe6f68a2abed15f52f9fcd08ba0ebd418fa3d7d 100644
--- a/compact/vertex_tracker.xml
+++ b/compact/vertex_tracker.xml
@@ -52,6 +52,7 @@ Simple carbon fiber support shell.
     <constant name="VertexEndcap_NLayers"           value="1"/>
     <constant name="VertexTrackerEndcap_delta"      value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
     <constant name="VertexEndcapLayer_dz"           value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
+    <constant name="VertexEndcapLayer_thickness"    value="min(5*cm,VertexEndcapLayer_dz)"/>
 
     <constant name="VertexEndcapModOpeningAngle"    value="30.0*degree"/>
     <constant name="VertexEndcapMod1_x1"            value="2.0*VertexTrackerEndcapP_rmin*sin(VertexEndcapModOpeningAngle/2.0)"/>
@@ -178,11 +179,11 @@ Simple carbon fiber support shell.
         <envelope  vis="AnlRed"
           rmin="VertexTrackerEndcapP_rmin"
           rmax="VertexTrackerEndcapP_rmax"
-          length="VertexEndcapLayer_dz"
-          zstart="VertexTrackerEndcapP_zmin" />
+          length="VertexEndcapLayer_thickness"
+          zstart="VertexTrackerEndcapP_zmin + VertexEndcapLayer_dz/2.0" />
         <ring vis="AnlRed"
           r="VertexTrackerEndcapP_rmin+VertexEndcapMod1_y/2.0"
-          zstart="25.0*mm"
+          zstart="0.0"
           nmodules="12" dz="2.5 * mm" module="Module1" />
       </layer>
     </detector>
@@ -204,11 +205,11 @@ Simple carbon fiber support shell.
         <envelope  vis="AnlRed"
           rmin="VertexTrackerEndcapN_rmin"
           rmax="VertexTrackerEndcapN_rmax"
-          length="VertexEndcapLayer_dz"
-          zstart="VertexTrackerEndcapN_zmin" />
+          length="VertexEndcapLayer_thickness"
+          zstart="VertexTrackerEndcapN_zmin + VertexEndcapLayer_dz/2.0" />
         <ring vis="AnlRed"
           r="VertexTrackerEndcapN_rmin+VertexEndcapMod1_y/2.0"
-          zstart="-25.0*mm"
+          zstart="0.0"
           nmodules="12" dz="2.5 * mm" module="Module1" />
       </layer>
     </detector>
diff --git a/src/TrapEndcapTracker_geo.cpp b/src/TrapEndcapTracker_geo.cpp
index a71bac117d1796e258c527d38f6506abb3d69462..1c486dfc7d0318117604fb1b174489aca58ab371 100644
--- a/src/TrapEndcapTracker_geo.cpp
+++ b/src/TrapEndcapTracker_geo.cpp
@@ -40,6 +40,25 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
   assembly.setVisAttributes(description.invisible());
   sens.setType("tracker");
 
+  for (xml_coll_t su(x_det, _U(support)); su; ++su) {
+    std::cout << "support !!!\n";
+    xml_comp_t x_support = su;
+    double      support_thickness = getAttrOrDefault(x_support, _U(thickness), 2.0 * mm);
+    double      support_length    = getAttrOrDefault(x_support, _U(length), 2.0 * mm);
+    double      support_rmin      = getAttrOrDefault(x_support, _U(rmin), 2.0 * mm);
+    double      support_zstart    = getAttrOrDefault(x_support, _U(zstart), 2.0 * mm);
+    std::string support_vis       = getAttrOrDefault<std::string>(x_support, _Unicode(vis), "AnlRed");
+    Material    support_mat       = description.material(x_support.materialStr());
+    Tube        support_tub(support_rmin, support_rmin + support_thickness, support_length / 2);
+    Volume      support_vol("support_tube", support_tub, support_mat); // Create the layer envelope volume.
+    support_vol.setVisAttributes(description.visAttributes(support_vis));
+    if(reflect) {
+      pv = assembly.placeVolume(support_vol, Position(0, 0, -1.0 * (support_zstart + support_length / 2)));
+    } else {
+      pv = assembly.placeVolume(support_vol, Position(0, 0, support_zstart + support_length / 2));
+    }
+  }
+
   for (xml_coll_t mi(x_det, _U(module)); mi; ++mi, ++m_id) {
     xml_comp_t x_mod = mi;
     string     m_nam = x_mod.nameStr();