diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index b914ff3acc11f927ef71f16b64d680664a2240ff..9e5f241c1a96bb43b91a112ee387e8acf58aa7c4 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -107,8 +107,23 @@ jobs:
             echo "PR has been merged, searching for a squashed commit in the base branch"
             echo "searching for a commit in a ${ORIGINAL_BASE_REF} that contains pull request number ${ORIGINAL_PULL_REQUEST_NUMBER}"
             SQUASHED_COMMIT=$(env -i git log ${ORIGINAL_BASE_REF} --grep="(#${ORIGINAL_PULL_REQUEST_NUMBER})" --format="%H")
-            echo "found commit ${SQUASHED_COMMIT}"
-            git cherry-pick ${SQUASHED_COMMIT}
+
+            if [ -n "${SQUASHED_COMMIT}" ]; then
+              echo "found commit ${SQUASHED_COMMIT}"
+              git cherry-pick ${SQUASHED_COMMIT}
+            else
+              echo "probably a PR wasn't merged with Squash And Merge button, searching again"
+              SQUASHED_COMMIT=$(env -i git log ${ORIGINAL_BASE_REF} --grep="#${ORIGINAL_PULL_REQUEST_NUMBER}" --format="%H")
+
+              if [ -n "${SQUASHED_COMMIT}" ]; then
+                echo "found commit ${SQUASHED_COMMIT}"
+                git cherry-pick ${SQUASHED_COMMIT}
+              else
+                echo "No squashed commit found for PR #${ORIGINAL_PULL_REQUEST_NUMBER}"
+                exit 1
+              fi
+            fi
+
           else
             echo "PR has not been merged, copying all commits"
             git cherry-pick ${ORIGINAL_BASE_SHA}..${ORIGINAL_HEAD_SHA}