diff --git a/get_sources.sh b/get_sources.sh
old mode 100755
new mode 100644
index 3ed0466..ea1b3bc
--- a/get_sources.sh
+++ b/get_sources.sh
@@ -146,52 +146,56 @@ else
   done <<< "$(git branch -r --contains HEAD | sed 's#origin/##g')"
 fi
 
-if [[ -s sources ]]; then
-    # This section is for the "flat" dist-git layout, where the spec file and
-    # patches are all present at the top level directory and the sha of the tarball
-    # present in a 'sources' file.
-    # This code was re-used from the fedpkg-pkg minimal project which is licensed
-    # under GPLv3 or any later version.
+if [[ -f sources ]]; then
+    if [[ ! -s sources ]]; then
+      echo "Empty sources file -- nothing to check"
+    else
+      # This section is for the "flat" dist-git layout, where the spec file and
+      # patches are all present at the top level directory and the sha of the tarball
+      # present in a 'sources' file.
+      # This code was re-used from the fedpkg-pkg minimal project which is licensed
+      # under GPLv3 or any later version.
 
-    pkgname=$(basename "$PWD")
-    # Read first word of first line. For old MD5 format it's the 32 character
-    # hash. Otherwise let's assume the sources have the BSD format where lines
-    # start with hash type.
-    hashtype="$(head -n1 sources | cut -d' ' -f1 | tr '[:upper:]' '[:lower:]')"
-    # The format is
-    #   SHA512 (filename) = ABCDEF
-    # We don't care about the equals sign. We also assume all hashes are
-    # the same type, so we don't need to read it again for each line.
-    while read -r _ filename _ hash || [[ -n "$filename" && -n "$hash" ]]; do
-        if [ -z "$filename" ] || [ -z "$hash" ]; then
-            continue
-        fi
-        # Remove parenthesis around tarball name
-        filename=${filename#(}
-        tarball=${filename%)}
-        if [ ! -e "$tarball" ]; then
-          for br in "${branches[@]}"
-          do
-            br=$(echo ${br}| sed -e s'|remotes/origin/||')
-            # Try the branch-specific lookaside structure
-            url="${SURL}/$pkgname/${br}/$hash"
-            echo "Retrieving ${url}"
-            HTTP_CODE=$(curl -L ${QUIET} -H Pragma: -o "./$tarball" -R -S --fail --retry 5 "${url}" --write-out "%{http_code}" || true)
-            echo "Returned ${HTTP_CODE}"
-            if [[ ${HTTP_CODE} -gt 199 && ${HTTP_CODE} -lt 300 ]] ; then
-               echo "bailing"
-               break
-            fi
-            # Try the hash-specific lookaside structure
-            url="${SURL}/$pkgname/$tarball/$hashtype/$hash/$tarball"
-            echo "Retrieving ${url}"
-            curl -L ${QUIET} -H Pragma: -o "./$tarball" -R -S --fail --retry 5 "${url}" && break
-          done
-        else
-          echo "$filename exists. skipping"
-        fi
-    done < sources
-    "${hashtype}sum" -c sources
+      pkgname=$(basename "$PWD")
+      # Read first word of first line. For old MD5 format it's the 32 character
+      # hash. Otherwise let's assume the sources have the BSD format where lines
+      # start with hash type.
+      hashtype="$(head -n1 sources | cut -d' ' -f1 | tr '[:upper:]' '[:lower:]')"
+      # The format is
+      #   SHA512 (filename) = ABCDEF
+      # We don't care about the equals sign. We also assume all hashes are
+      # the same type, so we don't need to read it again for each line.
+      while read -r _ filename _ hash || [[ -n "$filename" && -n "$hash" ]]; do
+          if [ -z "$filename" ] || [ -z "$hash" ]; then
+              continue
+          fi
+          # Remove parenthesis around tarball name
+          filename=${filename#(}
+          tarball=${filename%)}
+          if [ ! -e "$tarball" ]; then
+            for br in "${branches[@]}"
+            do
+              br=$(echo ${br}| sed -e s'|remotes/origin/||')
+              # Try the branch-specific lookaside structure
+              url="${SURL}/$pkgname/${br}/$hash"
+              echo "Retrieving ${url}"
+              HTTP_CODE=$(curl -L ${QUIET} -H Pragma: -o "./$tarball" -R -S --fail --retry 5 "${url}" --write-out "%{http_code}" || true)
+              echo "Returned ${HTTP_CODE}"
+              if [[ ${HTTP_CODE} -gt 199 && ${HTTP_CODE} -lt 300 ]] ; then
+                 echo "bailing"
+                 break
+              fi
+              # Try the hash-specific lookaside structure
+              url="${SURL}/$pkgname/$tarball/$hashtype/$hash/$tarball"
+              echo "Retrieving ${url}"
+              curl -L ${QUIET} -H Pragma: -o "./$tarball" -R -S --fail --retry 5 "${url}" && break
+            done
+          else
+            echo "$filename exists. skipping"
+          fi
+      done < sources
+      "${hashtype}sum" -c sources
+    fi
 else
     # This section is for the "non-flat" dist-git layout, where the spec file
     # is stored in a SPECS folder, the patches in a SOURCES folder and the sha