diff --git a/django_expanded_test_cases/mixins/live_server_mixin.py b/django_expanded_test_cases/mixins/live_server_mixin.py
index 0864bc17ee5aedea809e9612bde5dad1fc5c7849..c503ba3c4f4e97a010a67b320966549505dd5b62 100644
--- a/django_expanded_test_cases/mixins/live_server_mixin.py
+++ b/django_expanded_test_cases/mixins/live_server_mixin.py
@@ -68,15 +68,18 @@ class LiveServerMixin(ResponseTestCaseMixin):
                 # Add window position data to driver options.
                 self._options.add_argument('window-position={0},{1}'.format(window_x, window_y))
 
+            # Avoid possible error when many drivers are opened.
+            # See https://stackoverflow.com/a/56638103
+            global SELENIUM_DEBUG_PORT
+            SELENIUM_DEBUG_PORT += 1
+
             # Create instance, based on selected driver type.
             if self._browser == 'chrome':
-                # # Avoid possible error when many drivers are opened.
-                # # See https://stackoverflow.com/a/56638103
-                global SELENIUM_DEBUG_PORT
-                SELENIUM_DEBUG_PORT += 1
+
                 self._options.add_argument('--remote-debugging-port={0}'.format(SELENIUM_DEBUG_PORT))
                 driver = webdriver.Chrome(service=self._service, options=self._options)
             elif self._browser == 'firefox':
+                self._service = webdriver.firefox.service.Service(port=SELENIUM_DEBUG_PORT)
                 driver = webdriver.Firefox(service=self._service, options=self._options)
             else:
                 raise ValueError('Unknown browser "{0}".'.format(self._browser))