diff --git a/roles/ensure-sphinx/tasks/main.yaml b/roles/ensure-sphinx/tasks/main.yaml
index fb1425f09..bb141869b 100644
--- a/roles/ensure-sphinx/tasks/main.yaml
+++ b/roles/ensure-sphinx/tasks/main.yaml
@@ -37,6 +37,18 @@
       done
   register: requirements_file
 
+# Ensure we have the latest pip in the sphinx venv, not the system
+# one.  Older pips don't do things like parse version constraints or
+# rust build flags correctly, and some jobs like the translate jobs
+# use this environment to install from master requirements.txt that
+# needs this sort of thing to work.
+- name: Setup virtual environment
+  pip:
+    name: pip
+    virtualenv: '{{ zuul_work_virtualenv }}'
+    virtualenv_command: '{{ ensure_pip_virtualenv_command }}'
+    extra_args: '--upgrade'
+
 - name: Install base doc building packages
   pip:
     name: "{{ doc_building_packages | union(doc_building_extra_packages) }}"