diff --git a/fsl/fslview/views/orthopanel.py b/fsl/fslview/views/orthopanel.py
index 0239094db180bd1468694f8c21e7fc59452a8174..266ef78b5efc539f19522240f661bd0259b848f6 100644
--- a/fsl/fslview/views/orthopanel.py
+++ b/fsl/fslview/views/orthopanel.py
@@ -326,10 +326,12 @@ class OrthoPanel(canvaspanel.CanvasPanel):
         Called whenever the panel is resized. Makes sure that the canvases
         are laid out nicely.
         """
-        
-        # allow default resize event handler to run
         ev.Skip()
-        self._layoutChanged()
+        
+        # Re-layout the canvases asynchronously as,
+        # in some cases, resizes to this panel
+        # aren't immediately applied to child panels
+        wx.CallAfter(self._layoutChanged)
 
 
     def _refreshLabels(self, *a):