diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3a386bdf1da87b72c91fe3ca954c7a83381d7248..9f4ddc83b25f8ad48d59c988569627d140ebd2e6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,7 +11,7 @@ image: eclipse-temurin:17-jdk-jammy
 
 variables:
 
-  APP_VERSION: "1.0.2"
+  APP_VERSION: "1.0.3"
   APP_APK: "kaffeekasse-${APP_VERSION}.apk"
   PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/kaffeekasse/${APP_VERSION}"
 
@@ -119,6 +119,11 @@ createPackage:
     - if: $CI_COMMIT_TAG
   before_script: []
   script:
+    - |
+      if [ "v$APP_VERSION" != "$CI_COMMIT_TAG" ]; then
+        echo "APP_VERSION does not match the tag"
+        exit 1
+      fi
     - cp app/build/outputs/apk/release/app-release.apk $APP_APK
     - |
       curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $APP_APK "${PACKAGE_REGISTRY_URL}/${APP_APK}"
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 192178af51095495c8012c9877f257706d08a225..6824982e5d5a4a9f2c1f855dc5c53ed0937a1968 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -15,7 +15,14 @@ android {
         minSdk = 29
         targetSdk = 34
         versionCode = 1
-        versionName = "1.0.2"
+        versionName = "1.0.3"
+
+        System.getenv()["APP_VERSION"]?.let { versionFromEnv ->
+            require(versionFromEnv == versionName) {
+                "Version in environment ($versionFromEnv) does not match version in build.gradle.kts ($versionName)"
+            }
+            println("Version matches environment: $versionName")
+        }
 
         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
         vectorDrawables {