diff --git a/scenarios.py b/scenarios.py
index eecc61543d0816b699c85bdfb912bc4300c4f033..e095af0e6d1ad20d162255f4d3382f9906bbf17a 100644
--- a/scenarios.py
+++ b/scenarios.py
@@ -251,8 +251,6 @@ class Scenario(object):
         if 'stencil' not in methodParameters:
             methodParameters['stencil'] = 'D2Q9' if D == 2 else 'D3Q27'
 
-        if isinstance(initialVelocity, np.ndarray):
-            initialVelocity = addGhostLayers(initialVelocity, indexDimensions=1, ghostLayers=1)
 
         methodParameters, optimizationParams = updateWithDefaultParameters(methodParameters, optimizationParams)
 
@@ -260,6 +258,10 @@ class Scenario(object):
         self._pdfArrays = [createPdfArray(domainSize, Q, layout=optimizationParams['fieldLayout']),
                            createPdfArray(domainSize, Q, layout=optimizationParams['fieldLayout'])]
 
+        if isinstance(initialVelocity, np.ndarray):
+            initialVelocity = addGhostLayers(initialVelocity, indexDimensions=1, ghostLayers=1,
+                                             layout=getLayoutOfArray(self._pdfArrays[0]))
+
         # Create kernel
         if lbmKernel is None:
             optimizationParams['pdfArr'] = self._pdfArrays[0]