diff --git a/DDCore/python/dd4hep.py b/DDCore/python/dd4hep.py
index 43d853450f858f69d180e6096caf8d3085733858..e8fd67cc7995e6d9632cc2faef464cbd71e45b6d 100644
--- a/DDCore/python/dd4hep.py
+++ b/DDCore/python/dd4hep.py
@@ -9,4 +9,5 @@
 #
 #==========================================================================
 from dd4hep_base import *
-import_units()
+self = __import__(__name__)
+import_units(self)
diff --git a/DDCore/python/dd4hep_base.py b/DDCore/python/dd4hep_base.py
index aab3df4eb71a10f6054441b58f2e04c8d98d9e52..995610fb041748d44b20d8d3659308ef0a89f4a9 100644
--- a/DDCore/python/dd4hep_base.py
+++ b/DDCore/python/dd4hep_base.py
@@ -158,17 +158,27 @@ def import_geometry():
   import_namespace_item('core','PlacedVolume')
 
   #// Shapes.h
+  import_namespace_item('core','Solid')
+  import_namespace_item('core','Box')
+  import_namespace_item('core','HalfSpace')
   import_namespace_item('core','Polycone')
   import_namespace_item('core','ConeSegment')
-  import_namespace_item('core','Box')
-  import_namespace_item('core','Torus')
-  import_namespace_item('core','Cone')
   import_namespace_item('core','Tube')
+  import_namespace_item('core','CutTube')
+  import_namespace_item('core','TruncatedTube')
+  import_namespace_item('core','EllipticalTube')
+  import_namespace_item('core','Cone')
   import_namespace_item('core','Trap')
+  import_namespace_item('core','PseudoTrap')
   import_namespace_item('core','Trapezoid')
+  import_namespace_item('core','Torus')
   import_namespace_item('core','Sphere')
   import_namespace_item('core','Paraboloid')
+  import_namespace_item('core','Hyperboloid')
   import_namespace_item('core','PolyhedraRegular')
+  import_namespace_item('core','Polyhedra')
+  import_namespace_item('core','ExtrudedPolygon')
+  import_namespace_item('core','EightPointSolid')
   import_namespace_item('core','BooleanSolid')
   import_namespace_item('core','SubtractionSolid')
   import_namespace_item('core','UnionSolid')
@@ -225,16 +235,22 @@ def import_tgeo():
 
 import_tgeo()
 import_geometry()
-
+#
+#  Import units from TGeo.
+#  Calling import_units makes all the units local to the dd4hep module.
+#
 try:
   from ROOT import TGeoUnit as TGeoUnits
-  def import_units():
-    def import_unit(nam):
-      setattr(name_space,nam,getattr(TGeoUnits,nam))
+  def import_units(ns):
+    def import_unit(ns,nam):
+      setattr(ns,nam,getattr(TGeoUnits,nam))
     items = dir(TGeoUnits)
+    if ns is None:
+      ns = name_space
+    print 'Importing TGeoUnits into namespace '+str(ns)
     for u in items:
       if u[0] != '_':
-        import_unit(u)
+        import_unit(ns, u)
     return len(items)    
 except:
   print 'WARNING: No units from TGeoUnit can be imported. This is normal for ROOT < 6.12.0'