diff --git a/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx b/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx
index 80bf4ec0875c8deb8afb4453e2ec3061ff1cfdcc..6692a055a91300ffa946b9f037dc432f119fb5fc 100755
--- a/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx
+++ b/InnerDetector/InDetRecAlgs/SiSpacePointFormation/src/SiTrackerSpacePointFinder.cxx
@@ -402,7 +402,7 @@ void SiTrackerSpacePointFinder::addSCT_SpacePoints(const SCT_ClusterCollection*
   //   - overlapExtents[6], overlapExtents[7], overlapExtents[10], overlapExtents[11]
   //     overlapExtents[8], overlapExtents[9], overlapExtents[12], overlapExtents[13] are filled for the phi overlapping elements
   
-  constexpr size_t nNeighbours{6};
+  enum NeighbourIndices{ThisOne, Opposite, PhiPlus, PhiMinus, EtaPlus, EtaMinus, nNeighbours};
   
   std::array<const SCT_ClusterCollection*, nNeighbours> neighbourClusters{};
   std::array<const InDetDD::SiDetectorElement*, nNeighbours> neighbourElements{};
@@ -442,7 +442,7 @@ void SiTrackerSpacePointFinder::addSCT_SpacePoints(const SCT_ClusterCollection*
   // the overlapping in phi and then the overlapping in eta
   // For this reason you need to re-order the indices, since the SiSpacePointMakerTool will process 
   // first the eta overlaps and then the phi ones
-  int NN[6] = {0,1,4,5,2,3};
+  const std::array<size_t, nNeighbours> neigbourIndices{ThisOne, Opposite, EtaPlus, EtaMinus, PhiPlus, PhiMinus};
   
   for (const auto& otherHash : *others) {
 
@@ -452,8 +452,8 @@ void SiTrackerSpacePointFinder::addSCT_SpacePoints(const SCT_ClusterCollection*
 
     if(!otherElement || !otherClusters) continue;
 
-    neighbourElements[NN[n]] = otherElement; 
-    neighbourClusters[NN[n]] = otherClusters;
+    neighbourElements[neigbourIndices[n]] = otherElement; 
+    neighbourClusters[neigbourIndices[n]] = otherClusters;
     search      = true ;
     
     switch (n) {