diff --git a/build-executor/main.sh b/build-executor/main.sh
index 29813393fd4d18a9b214bd2950c848ffc009a70d..a4ac106d31b858b3829abbae6e4882e47f27de8e 100755
--- a/build-executor/main.sh
+++ b/build-executor/main.sh
@@ -22,7 +22,7 @@ function execute_command(){
   echo "`date` [execute_command] Executing '$@'"
   eval "$@"
   status=$?
-  echo "`date` [execute_command] Return code: ${status}"
+  echo "`date` [execute_command] '$@'\nReturn code: ${status}"
   return ${status}
 }
 
@@ -330,29 +330,25 @@ function test_standalone_image_singularity(){
   else
     singularityregistry="${CIENV_DOCKERREGISTRY}"
     theimage="${HEPWL_DOCKERIMAGENAME}":"${HEPWL_DOCKERIMAGETAG}"
-    echo "[test_standalone_image_singularity] docker tag ${singularityregistry}/${theimage} ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity"
-    if ! docker tag ${singularityregistry}/${theimage} ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity ; then
-        docker rmi -f ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity #BMK-122
-        fail "[test_standalone_image_singularity] docker tag"
-    fi
-    if ! echo $CI_BUILD_TOKEN | docker login -u gitlab-ci-token --password-stdin gitlab-registry.cern.ch ; then
-        docker rmi -f ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity #BMK-122
-        fail "[test_standalone_image_singularity] docker login"
-    fi
-    echo "[test_standalone_image_singularity] docker push ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity"
-    if ! docker push ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity ; then
-        docker rmi -f ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity #BMK-122
-        fail "[test_standalone_image_singularity] docker push ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity"
-    fi
-    echo -e "\n[test_standalone_image_singularity] Run WL in singularity (to test the image) via execute_command - started"
-    if ! execute_command docker run --privileged --network=host -v ${CIENV_JOBDIR}/results:/results ${singularityregistry}/singularity-executor singularity run -B /results:/results docker://${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity $HEPWL_BMKOPTS || fail "[test_standalone_image_singularity] singularity run -B $CIENV_JOBDIR/results:/results ${HEPWL_DOCKERIMAGENAME}:ci_singularity $HEPWL_BMKOPTS"; then
-        docker rmi -f ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity #BMK-122
-        fail "[test_standalone_image_singularity] Run WL in singularity"
-    fi
-    echo -e "[test_standalone_image_singularity] Run WL in singularity (to test the image) via execute_command - completed\n"
+
+    execute_command docker tag ${singularityregistry}/${theimage} ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity || fail "[test_standalone_image_singularity] docker tag"
+
+    ## This is a sequence of commands in a given scope. In case of failure of one of them, cleanup the test_ci_singularity and fail 
+    ( 
+	( echo $CI_BUILD_TOKEN | docker login -u gitlab-ci-token --password-stdin gitlab-registry.cern.ch || fail "[test_standalone_image_singularity] docker login" ) &&
+	( execute_command docker push ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity || fail "[test_standalone_image_singularity] docker push ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity" ) &&
+	echo -e "\n[test_standalone_image_singularity] Run WL in singularity (to test the image) via execute_command - started" &&
+	( execute_command docker run --privileged --network=host -v ${CIENV_JOBDIR}/results:/results ${singularityregistry}/singularity-executor singularity run -B /results:/results docker://${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity $HEPWL_BMKOPTS || fail "[test_standalone_image_singularity] singularity run" )
+    )
+    status=$?
+
+    ## Removing in all cases the singularity test image
+    docker rmi -f ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity 
     
+    if [[ $status -ne 0 ]]; then
+	fail "[test_standalone_image_singularity] Run WL in singularity"
+    fi
   fi
-  docker rmi -f ${singularityregistry}/${HEPWL_DOCKERIMAGENAME}:test_ci_singularity #BMK-122
   echo "[test_standalone_image_singularity] finished at $(date)"
   return 0
 }