diff --git a/mixins.yml b/mixins.yml
index d1f0396e9579873e990725616cf40b1992e05aff..1af5bae6c50d00cc758b63e01be8f5a44d5e6147 100644
--- a/mixins.yml
+++ b/mixins.yml
@@ -21,8 +21,8 @@ stages:
     - if [[ "x$(command -v ssh)" != "x" && -n $SSH_PRIVATE_KEY ]]; then ssh git@${CI_SERVER_HOST}; fi
     - if [[ "x$(command -v glab)" != "x" && -n $GITLAB_ACCESS_TOKEN ]]; then glab auth login --hostname ${CI_SERVER_HOST} --token $GITLAB_ACCESS_TOKEN; fi
     - if [[ "x$(command -v glab)" != "x" && -n $GITLAB_PRIVATE_TOKEN ]]; then glab auth login --hostname ${CI_SERVER_HOST} --token $GITLAB_PRIVATE_TOKEN; fi
-    - if [[ -n $GITLAB_ACCESS_TOKEN ]]; then composer config -g --no-plugins --no-interaction gitlab-token.${CI_SERVER_HOST} $GITLAB_ACCESS_TOKEN; fi
-    - if [[ -n $GITLAB_PRIVATE_TOKEN ]]; then composer config -g --no-plugins --no-interaction gitlab-token.${CI_SERVER_HOST} $GITLAB_PRIVATE_TOKEN; fi
+    - if [[ -n $GITLAB_ACCESS_TOKEN && -f composer.json ]]; then composer config -g --no-plugins --no-interaction gitlab-token.${CI_SERVER_HOST} $GITLAB_ACCESS_TOKEN; fi
+    - if [[ -n $GITLAB_PRIVATE_TOKEN && -f composer.json ]]; then composer config -g --no-plugins --no-interaction gitlab-token.${CI_SERVER_HOST} $GITLAB_PRIVATE_TOKEN; fi
     - if [[ -n $DOCKER_AUTH_CONFIG ]]; then mkdir -p ~/.docker; echo $DOCKER_AUTH_CONFIG > ~/.docker/config.json; fi
 
 .preparecomposerplugins: