diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e88c625fd80ec7de203f736942946347bcd450f6..c8e631e1dd974009442ed47ce5fce8c93c147f66 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,8 @@ default:
   # Make sure each step is executed in a virtual environment with some basic dependencies present
   before_script:
     - python --version # For debugging
+    - tox --version
+    - pip --version
   cache:
     paths:
       - .cache/pip
@@ -66,7 +68,9 @@ run_unit_tests_py37:
   before_script:
     - apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-python-dev libtango-dev # Needed to install pytango
     - python -m pip install --upgrade pip
+    - pip --version
     - pip install --upgrade tox
+    - tox --version
 
 run_unit_tests_py38:
   extends: .run_unit_tests_pyXX
diff --git a/docker/Dockerfile.ci_python37 b/docker/Dockerfile.ci_python37
index 29814542f7b942a44c0b6c28b944a2cab99011e4..1f4362fcff091ce1ba35661777eeb3e78c2a8b98 100644
--- a/docker/Dockerfile.ci_python37
+++ b/docker/Dockerfile.ci_python37
@@ -6,4 +6,4 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libboost-python-dev libtan
 
 # Make sure we have the latest tooling for our tests
 RUN python -m pip install --upgrade pip
-RUN pip install --upgrade "tox<4"
+RUN pip install --upgrade tox
diff --git a/requirements.txt b/requirements.txt
index d73883ea9817950dd365a9058acfa52dd45314cf..1d2484f0fbd55c3e7405e0a2a46df177cf7d7dbc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,5 @@
 # Order does matter
+PyTango>=9.4.0 # LGPL v3
 requests>=2.0 # Apache 2
 numpy>=1.21.0 # BSD
 nptyping>=2.3.0 # MIT
@@ -7,5 +8,3 @@ pyDeprecate>=0.3.0 # MIT
 h5py >= 3.1.0 # BSD
 pytz>=2022.6 # MIT
 psutil>=5.9.4 # BSD
-# commented out until https://gitlab.com/tango-controls/pytango/-/issues/468 is resolved
-# PyTango>=9.3.5 # GNU LGPL v3
diff --git a/tox.ini b/tox.ini
index d475729d242564d8fefa42497bfc21edf4047702..a2b09c4ce45a0ae27cf2d4bf706d13fd04ce01c7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,7 +1,7 @@
 [tox]
+min_version = 4.3.3
 # Generative environment list to test all supported Python versions
 envlist = black,pep8,pylint,py3{7,8,9,10},docs
-minversion = 3.18.0
 
 [testenv]
 usedevelop = True
@@ -15,9 +15,7 @@ deps =
     -r{toxinidir}/requirements.txt
     -r{toxinidir}/test-requirements.txt
 commands_pre =
-    # required until https://gitlab.com/tango-controls/pytango/-/issues/468 is resolved
-    pip install 'numpy>=1.21.0'
-    pip install --no-cache 'PyTango>=9.3.5'
+    {envpython} --version
 commands =
     {envpython} --version
     stestr run {posargs}
@@ -72,7 +70,7 @@ skip_install = true
 # Intentionally break import paths if not installed from package
 changedir={toxinidir}/integration
 # Allow bash for wheel file substitution
-allowlist_external =
+allowlist_externals =
     bash
 commands =
     # We need the bash substitutions here