diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
index 58c74f4c4b55ce3f81a6ed3e8407d4bbe4d219e0..5ff0f7bf2e00989d8d81195c9d35017c23c5fac2 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
@@ -379,12 +379,12 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
         {
             const labelList& faceMap = faceProcAddressing_[procI];
 
-            // Addressing into original field
-            labelList curAddr(faceMap.size());
             // Correctly oriented copy of internal field
             Field<Type> procInternalField(procField.internalField());
+            // Addressing into original field
+            labelList curAddr(procInternalField.size());
 
-            forAll(faceMap, addrI)
+            forAll(procInternalField, addrI)
             {
                 curAddr[addrI] = mag(faceMap[addrI])-1;
                 if (faceMap[addrI] < 0)