diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C
index d90d1b982139143634487873267d83d60f798080..3d7beed31864e22892fb6199cc9548d60a45133c 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.C
@@ -136,10 +136,9 @@ void Foam::lduAddressing::calcLosortStart() const
             << abort(FatalError);
     }
 
-    losortStartPtr_ = std::make_unique<labelList>(size() + 1, Foam::zero{});
-    auto& lsrtStart = *losortStartPtr_;
-
     const labelUList& nbr = upperAddr();
+    losortStartPtr_ = std::make_unique<labelList>(size() + 1, nbr.size());
+    auto& lsrtStart = *losortStartPtr_;
 
     const labelUList& lsrt = losortAddr();