diff --git a/.travis.yml b/.travis.yml
index 16f60e6..33e7154 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,7 +22,7 @@ matrix:
           sudo: false
         - os: osx
           osx_image: xcode7
-          env: SPEC=macx-clang CONFIG=debug
+          env: SPEC=macx-clang CONFIG=debug QT_FATAL_WARNINGS=1
         - os: osx
           osx_image: xcode7
           env: SPEC=macx-clang CONFIG=installer
diff --git a/src/VehicleSetup/SetupViewTest.cc b/src/VehicleSetup/SetupViewTest.cc
index 11d29ba..3ab4c6f 100644
--- a/src/VehicleSetup/SetupViewTest.cc
+++ b/src/VehicleSetup/SetupViewTest.cc
@@ -63,10 +63,6 @@ void SetupViewTest::_clickThrough_test(void)
         QTest::qWait(1000);
     }
 
-    // On MainWindow close we should get a message box telling the user to disconnect first.
-    
-    setExpectedMessageBox(QGCMessageBox::Yes);
-    
+    _disconnectMockLink();
     _closeMainWindow();
-    checkExpectedMessageBox();
 }
diff --git a/src/qgcunittest/UnitTest.cc b/src/qgcunittest/UnitTest.cc
index eb93e7e..b3f5b40 100644
--- a/src/qgcunittest/UnitTest.cc
+++ b/src/qgcunittest/UnitTest.cc
@@ -417,5 +417,9 @@ void UnitTest::_closeMainWindow(bool cancelExpected)
 
         mainWindowSpy.wait(2000);
         QCOMPARE(mainWindowSpy.count(), cancelExpected ? 0 : 1);
+
+        // This leaves enough time for any dangling Qml components to get cleaned up.
+        // This prevents qWarning from bad references in Qml
+        QTest::qWait(1000);
     }
 }