diff --git a/run_tests.sh b/run_tests.sh
index 5b6b48751..ee50b7a94 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -24,7 +24,7 @@ export HIERA_CONFIG=${HIERA_CONFIG:-${SCRIPT_DIR}/hiera/hiera.yaml}
 export MANAGE_HIERA=${MANAGE_HIERA:-true}
 export PUPPET_ARGS="${PUPPET_ARGS} --detailed-exitcodes --color=false --test --trace --hiera_config ${HIERA_CONFIG} --logdest ${WORKSPACE}/puppet.log"
 export DISTRO=$(lsb_release -c -s)
-export TEMPEST_VERSION=${TEMPEST_VERSION:-'origin/master'}
+export TEMPEST_VERSION=${TEMPEST_VERSION:-'382a2065f3364a36c110bfcc6275a0f8f6894773'}
 
 # NOTE(pabelanger): Setup facter to know about AFS mirror.
 if [ -f /etc/nodepool/provider ]; then
@@ -100,7 +100,15 @@ else
 fi
 
 pushd /tmp/openstack/tempest
-git reset --hard $TEMPEST_VERSION
+# we don't pin Tempest in Tempest gate, so we can actually run
+# real tests in order to fix Tempest.
+if [ "$ZUUL_PROJECT" != "openstack/tempest" ] && [ ! -z ${ZUUL_PROJECT+x} ]; then
+    # openstack/tempest/master interface breaks Trove and more services.
+    # There is an attempt to fix it here:
+    # https://review.openstack.org/#/c/412511/
+    # Let's pin Tempest until the fix works and is merged.
+    git reset --hard $TEMPEST_VERSION
+fi
 popd
 
 # NOTE(pabelanger): We cache cirros images on our jenkins slaves, check if it
@@ -244,12 +252,6 @@ fi
 print_header 'Running Tempest'
 cd /tmp/openstack/tempest
 
-# openstack/tempest/master interface breaks Trove and more services.
-# There is an attempt to fix it here:
-# https://review.openstack.org/#/c/412511/
-# Let's pin Tempest until the fix works and is merged.
-git checkout 382a2065f3364a36c110bfcc6275a0f8f6894773
-
 virtualenv --system-site-packages run_tempest
 run_tempest/bin/pip install -U .
 run_tempest/bin/tempest run --whitelist_file=/tmp/openstack/tempest/test-whitelist.txt --concurrency=2 $EXCLUDES