diff --git a/Tracking/TrkEvent/TrkSpacePoint/CMakeLists.txt b/Tracking/TrkEvent/TrkSpacePoint/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8ad9259c7cf0c67718cc02c654419e4c07b96796
--- /dev/null
+++ b/Tracking/TrkEvent/TrkSpacePoint/CMakeLists.txt
@@ -0,0 +1,29 @@
+################################################################################
+# Package: TrkSpacePoint
+################################################################################
+
+# Declare the package name:
+atlas_subdir( TrkSpacePoint )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/CLIDSvc
+                          Control/DataModel
+                          Control/SGTools
+                          DetectorDescription/Identifier
+                          Event/EventContainers
+                          GaudiKernel
+                          Tracking/TrkEvent/TrkMeasurementBase
+                          PRIVATE
+                          Tracking/TrkDetDescr/TrkDetElementBase
+                          Tracking/TrkDetDescr/TrkSurfaces
+                          Tracking/TrkEvent/TrkEventPrimitives
+                          Tracking/TrkEvent/TrkPrepRawData )
+
+# Component(s) in the package:
+atlas_add_library( TrkSpacePoint
+                   src/*.cxx
+                   PUBLIC_HEADERS TrkSpacePoint
+                   LINK_LIBRARIES DataModel SGTools Identifier GaudiKernel TrkMeasurementBase
+                   PRIVATE_LINK_LIBRARIES TrkDetElementBase TrkSurfaces TrkEventPrimitives TrkPrepRawData )
+
diff --git a/Tracking/TrkEvent/TrkSpacePoint/src/SpacePoint.cxx b/Tracking/TrkEvent/TrkSpacePoint/src/SpacePoint.cxx
index bbac139d12eb9c037efc72794678f6dd84a06ac5..78802bc1fffc1f938a6da4c57c897b3976497391 100755
--- a/Tracking/TrkEvent/TrkSpacePoint/src/SpacePoint.cxx
+++ b/Tracking/TrkEvent/TrkSpacePoint/src/SpacePoint.cxx
@@ -58,7 +58,11 @@ namespace Trk
   {
     m_elemIdList = SP.m_elemIdList;
     m_position = SP.m_position;
-    m_clusList = new std::pair<const PrepRawData*, const PrepRawData*>(*SP.m_clusList);    
+    if (SP.m_clusList){
+      m_clusList = new std::pair<const PrepRawData*, const PrepRawData*>(*SP.m_clusList);
+    } else {
+      m_clusList=nullptr;
+    }    
     m_globalCovariance = SP.m_globalCovariance; 
 #ifndef NDEBUG
     s_numberOfInstantiations++; // new SpacePoint, so increment total count
@@ -71,14 +75,18 @@ namespace Trk
   SpacePoint& SpacePoint::operator=(const SpacePoint& SP)
   {
     if (&SP !=this) 
-      {
-	Trk::MeasurementBase::operator=(SP);
-	delete m_clusList;
-	m_elemIdList = SP.m_elemIdList;
-	m_position = SP.m_position;
-	m_clusList = new std::pair<const PrepRawData*, const PrepRawData*>(*SP.m_clusList);
-	m_globalCovariance = SP.m_globalCovariance; 
-      }
+    {
+			Trk::MeasurementBase::operator=(SP);
+			delete m_clusList;
+			m_elemIdList = SP.m_elemIdList;
+			m_position = SP.m_position;
+			if (SP.m_clusList){
+			  m_clusList = new std::pair<const PrepRawData*, const PrepRawData*>(*SP.m_clusList);
+			}  else {
+        m_clusList=nullptr;
+      }  
+			m_globalCovariance = SP.m_globalCovariance; 
+    }
     return *this;
   }