diff --git a/images/MantidSplashScreen_2400x1758.jpg b/images/MantidSplashScreen_2400x1758.jpg
deleted file mode 100644
index 233fd7adb6b1815522314e05c082016a100b0720..0000000000000000000000000000000000000000
Binary files a/images/MantidSplashScreen_2400x1758.jpg and /dev/null differ
diff --git a/images/MantidSplashScreen_4k.jpg b/images/MantidSplashScreen_4k.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a6671e84e16448981e5a5b4e0536662054af4947
Binary files /dev/null and b/images/MantidSplashScreen_4k.jpg differ
diff --git a/qt/applications/workbench/resources.qrc b/qt/applications/workbench/resources.qrc
index 82a2ae9bd946b013943062ecc94f9f8babb9d993..b4d7b4156cb8dfe6abd69dffaf4de4c054fba101 100644
--- a/qt/applications/workbench/resources.qrc
+++ b/qt/applications/workbench/resources.qrc
@@ -1,5 +1,6 @@
 <!DOCTYPE RCC><RCC version="1.0">
 <qresource prefix="/images">
     <file alias="MantidSplashScreen.png">../../../images/MantidSplashScreen.png</file>
+    <file alias="MantidSplashScreen_4k.jpg">../../../images/MantidSplashScreen_4k.jpg</file>
 </qresource>
 </RCC>
\ No newline at end of file
diff --git a/qt/applications/workbench/workbench/app/mainwindow.py b/qt/applications/workbench/workbench/app/mainwindow.py
index 8a920c0025b94041a835f92341eea615ce533824..ed65fa8d4f6f7ee829e2cd42417e8327c5cc6103 100644
--- a/qt/applications/workbench/workbench/app/mainwindow.py
+++ b/qt/applications/workbench/workbench/app/mainwindow.py
@@ -12,7 +12,7 @@ Defines the QMainWindow of the application and the main() entry point.
 """
 from __future__ import (absolute_import, division,
                         print_function, unicode_literals)
-import argparse     # for command line options
+import argparse  # for command line options
 import atexit
 import imp
 import importlib
@@ -38,7 +38,7 @@ requirements.check_qt()
 # Qt
 # -----------------------------------------------------------------------------
 from qtpy.QtCore import (QEventLoop, Qt, QCoreApplication, QPoint, QSize)  # noqa
-from qtpy.QtGui import (QColor, QPixmap)  # noqa
+from qtpy.QtGui import (QColor, QPixmap, QGuiApplication)  # noqa
 from qtpy.QtWidgets import (QApplication, QDesktopWidget, QFileDialog,
                             QMainWindow, QSplashScreen)  # noqa
 from mantidqt.utils.qt import plugins, widget_updates_disabled  # noqa
@@ -82,13 +82,25 @@ MAIN_APP = qapplication()
 # -----------------------------------------------------------------------------
 # Importing resources loads the data in
 from workbench.app.resources import qCleanupResources  # noqa
+
 atexit.register(qCleanupResources)
 
-SPLASH = QSplashScreen(QPixmap(':/images/MantidSplashScreen.png'),
+
+def _get_splash_image_name():
+    # gets the width of the screen where the main window was initialised
+    width = QGuiApplication.primaryScreen().size().width()
+
+    if width > 2048:
+        return ':/images/MantidSplashScreen_4k.jpg'
+    else:
+        return ':/images/MantidSplashScreen.png'
+
+
+SPLASH = QSplashScreen(QPixmap(_get_splash_image_name()),
                        Qt.WindowStaysOnTopHint)
 SPLASH.show()
-SPLASH.showMessage("Starting...", Qt.AlignBottom | Qt.AlignLeft |
-                   Qt.AlignAbsolute, QColor(Qt.black))
+SPLASH.showMessage("Starting...", Qt.AlignBottom | Qt.AlignLeft
+                   | Qt.AlignAbsolute, QColor(Qt.black))
 # The event loop has not started - force event processing
 QApplication.processEvents(QEventLoop.AllEvents)
 
@@ -98,13 +110,13 @@ QApplication.processEvents(QEventLoop.AllEvents)
 from mantidqt.utils.qt import add_actions, create_action  # noqa
 from mantidqt.widgets.manageuserdirectories import ManageUserDirectories  # noqa
 
+
 # -----------------------------------------------------------------------------
 # MainWindow
 # -----------------------------------------------------------------------------
 
 
 class MainWindow(QMainWindow):
-
     DOCKOPTIONS = QMainWindow.AllowTabbedDocks | QMainWindow.AllowNestedDocks
 
     def __init__(self):
@@ -251,7 +263,7 @@ class MainWindow(QMainWindow):
         add_actions(self.view_menu, self.view_menu_actions)
 
     def launchCustomGUI(self, script):
-        exec(open(script).read(), globals())
+        exec (open(script).read(), globals())
 
     def populateAfterMantidImport(self):
         from mantid.kernel import ConfigService, logger
@@ -334,12 +346,12 @@ class MainWindow(QMainWindow):
                 # column 2
                 [[logmessages]]
             ],
-            'width-fraction': [0.25,            # column 0 width
-                               0.50,            # column 1 width
-                               0.25],           # column 2 width
-            'height-fraction': [[0.5, 0.5],     # column 0 row heights
-                                [1.0],          # column 1 row heights
-                                [1.0]]          # column 2 row heights
+            'width-fraction': [0.25,  # column 0 width
+                               0.50,  # column 1 width
+                               0.25],  # column 2 width
+            'height-fraction': [[0.5, 0.5],  # column 0 row heights
+                                [1.0],  # column 1 row heights
+                                [1.0]]  # column 2 row heights
         }
 
         with widget_updates_disabled(self):
@@ -351,13 +363,13 @@ class MainWindow(QMainWindow):
                 w.toggle_view(True)
             # split everything on the horizontal
             for i in range(len(widgets) - 1):
-                first, second = widgets[i], widgets[i+1]
+                first, second = widgets[i], widgets[i + 1]
                 self.splitDockWidget(first.dockwidget, second.dockwidget,
                                      Qt.Horizontal)
             # now arrange the rows
             for column in widgets_layout:
                 for i in range(len(column) - 1):
-                    first_row, second_row = column[i], column[i+1]
+                    first_row, second_row = column[i], column[i + 1]
                     self.splitDockWidget(first_row[0].dockwidget,
                                          second_row[0].dockwidget,
                                          Qt.Vertical)
@@ -365,7 +377,7 @@ class MainWindow(QMainWindow):
             for column in widgets_layout:
                 for row in column:
                     for i in range(len(row) - 1):
-                        first, second = row[i], row[i+1]
+                        first, second = row[i], row[i + 1]
                         self.tabifyDockWidget(first.dockwidget, second.dockwidget)
 
                     # Raise front widget per row
@@ -456,8 +468,8 @@ class MainWindow(QMainWindow):
                 widget.readSettings(settings)
 
     def writeSettings(self, settings):
-        settings.set('MainWindow/size', self.size())        # QSize
-        settings.set('MainWindow/position', self.pos())     # QPoint
+        settings.set('MainWindow/size', self.size())  # QSize
+        settings.set('MainWindow/position', self.pos())  # QPoint
         settings.set('MainWindow/state', self.saveState())  # QByteArray
 
         # write out settings for children