diff --git a/src/QmlControls/ScreenTools.cc b/src/QmlControls/ScreenTools.cc
index 77c0ccb1973b7f34dfcd903ba1db45f8a65580cb..c7d59f4cf69aec041a01f7cc06c899ba2b556744 100644
--- a/src/QmlControls/ScreenTools.cc
+++ b/src/QmlControls/ScreenTools.cc
@@ -36,9 +36,14 @@ const double ScreenTools::_largeFontPointSize = 20;
 
 ScreenTools::ScreenTools()
 {
-    connect(MainWindow::instance(), &MainWindow::repaintCanvas,     this, &ScreenTools::_updateCanvas);
-    connect(MainWindow::instance(), &MainWindow::pixelSizeChanged,  this, &ScreenTools::_updatePixelSize);
-    connect(MainWindow::instance(), &MainWindow::fontSizeChanged,   this, &ScreenTools::_updateFontSize);
+    MainWindow* mainWindow = MainWindow::instance();
+    
+    // Unit tests can run Qml without MainWindow
+    if (mainWindow) {
+        connect(mainWindow, &MainWindow::repaintCanvas,     this, &ScreenTools::_updateCanvas);
+        connect(mainWindow, &MainWindow::pixelSizeChanged,  this, &ScreenTools::_updatePixelSize);
+        connect(mainWindow, &MainWindow::fontSizeChanged,   this, &ScreenTools::_updateFontSize);
+    }
 }
 
 qreal ScreenTools::adjustFontPointSize(qreal pointSize)