diff --git a/gitlab/before_build.sh b/gitlab/before_build.sh
index f9c14c14d4d01f0f63c14a16f41976c349d18284..99f07a9adda6fa19641ea01613959413872563c2 100755
--- a/gitlab/before_build.sh
+++ b/gitlab/before_build.sh
@@ -55,13 +55,14 @@ else
   log_info "Using python: ${use_python}"
 fi
 
-PIPOPTS="--find-links ${WHEELS_REPOSITORY} --trusted-host ${WHEELS_SERVER}"
-# zc.recipe.egg cannot be installed via wheels, so we need this hack...
-if [ "${CI_PROJECT_NAME}" != "bob.buildout" ]; then
-  PIPOPTS="${PIPOPTS} --pre --use-wheel --no-index"
+# zc.recipe.egg needs some special installation instructions
+if [ "${CI_PROJECT_NAME}" == "bob.buildout" ]; then
+  run_cmd ${use_pip} install --no-binary ":all:" zc.recipe.egg
 fi
 
 # Install this package's build dependencies
+PIPOPTS="--find-links ${WHEELS_REPOSITORY} --trusted-host ${WHEELS_SERVER}"
+PIPOPTS="${PIPOPTS} --pre --use-wheel --no-index"
 if [ -e requirements.txt ]; then
   run_cmd ${use_pip} install ${PIPOPTS} --requirement requirements.txt
 else