diff --git a/lib/gui/simulator/drawing_panel.py b/lib/gui/simulator/drawing_panel.py
index 1ffdfaa48..745bd464e 100644
--- a/lib/gui/simulator/drawing_panel.py
+++ b/lib/gui/simulator/drawing_panel.py
@@ -307,8 +307,7 @@ class DrawingPanel(wx.Panel):
 
     def set_background_color(self, color):
         self.background_color = color
-        # this refresh is necessary for macOS
-        self.Refresh()
+        self._update_background_color()
 
     def _update_background_color(self):
         if not self.page_specs:
diff --git a/lib/gui/simulator/view_panel.py b/lib/gui/simulator/view_panel.py
index b73d6a4cf..e2f2618d8 100644
--- a/lib/gui/simulator/view_panel.py
+++ b/lib/gui/simulator/view_panel.py
@@ -146,8 +146,10 @@ class ViewPanel(ScrolledPanel):
         self.drawing_panel = drawing_panel
 
     def on_update_background_color(self, event):
-        self.set_background_color(event.Colour)
-        self.drawing_panel.set_background_color(event.Colour)
+        color = event.Colour
+        self.set_background_color(color)
+        self.drawing_panel.set_background_color(color)
+        self.drawing_panel.Refresh()
 
     def set_background_color(self, color):
         self.btnBackgroundColor.SetColour(color)