diff --git a/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py b/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py
index 04535e26adbed036177b5b5f67451e122f68a38d..0175665a486f91ce2cf373f3902223b7e86c36b8 100644
--- a/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py
+++ b/qt/applications/workbench/workbench/widgets/settings/general/test/test_general_settings.py
@@ -8,6 +8,7 @@
 from __future__ import absolute_import, unicode_literals
 
 import unittest
+import sys
 
 from mantid.py3compat.mock import call, patch, Mock
 from mantidqt.utils.qt.testing import start_qapplication
@@ -157,10 +158,17 @@ class GeneralSettingsTest(unittest.TestCase):
         GeneralSettings(None)
 
         # calls().__int__() are the calls to int() on the retrieved value from ConfigService.getString
-        mock_CONF.get.assert_has_calls([call(GeneralSettings.PROMPT_SAVE_ON_CLOSE),
-                                        call().__int__(),
-                                        call(GeneralSettings.PROMPT_SAVE_EDITOR_MODIFIED),
-                                        call().__int__()])
+        # In python 3.8 it falls back to __index__() if __int__() is not defined
+        if sys.version_info < (3, 8):
+            mock_CONF.get.assert_has_calls([call(GeneralSettings.PROMPT_SAVE_ON_CLOSE),
+                                            call().__int__(),
+                                            call(GeneralSettings.PROMPT_SAVE_EDITOR_MODIFIED),
+                                            call().__int__()])
+        else:
+            mock_CONF.get.assert_has_calls([call(GeneralSettings.PROMPT_SAVE_ON_CLOSE),
+                                            call().__index__(),
+                                            call(GeneralSettings.PROMPT_SAVE_EDITOR_MODIFIED),
+                                            call().__index__()])
 
         mock_ConfigService.getString.assert_has_calls([call(GeneralSettings.PR_RECOVERY_ENABLED),
                                                        call(GeneralSettings.PR_TIME_BETWEEN_RECOVERY),
@@ -245,7 +253,7 @@ class GeneralSettingsTest(unittest.TestCase):
         test_dict = {'a': 1}
         mock_CONF.get.return_value = test_dict
 
-        self.assertEquals(test_dict, presenter.get_layout_dict())
+        self.assertEqual(test_dict, presenter.get_layout_dict())
 
     @patch(WORKBENCH_CONF_CLASSPATH)
     def test_get_layout_dict_key_error(self, mock_CONF):
@@ -253,7 +261,7 @@ class GeneralSettingsTest(unittest.TestCase):
         # setup CONF.get to return KeyError
         mock_CONF.get.side_effect = KeyError()
 
-        self.assertEquals({}, presenter.get_layout_dict())
+        self.assertEqual({}, presenter.get_layout_dict())
 
     @patch(WORKBENCH_CONF_CLASSPATH)
     def test_save_layout(self, mock_CONF):