diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle
index 1fb62d84fd0f4a3db61d212a57f07acca1e72665..83f49f75d73e527a3c7e21e3fb8fa5694c66c4da 100644
--- a/Corona-Warn-App/build.gradle
+++ b/Corona-Warn-App/build.gradle
@@ -91,7 +91,7 @@ android {
         signingProps.load(new FileInputStream(signingPropFile))
         signingConfigs {
             deviceRelease {
-                if(signingProps['deviceRelease.storePath'] != null) {
+                if (signingProps['deviceRelease.storePath'] != null) {
                     storeFile file(signingProps['deviceRelease.storePath'])
                     keyAlias signingProps['deviceRelease.keyAlias']
                     storePassword signingProps['deviceRelease.storePassword']
@@ -99,7 +99,7 @@ android {
                 }
             }
             deviceForTestersRelease {
-                if(signingProps['deviceForTestersRelease.storePath'] != null) {
+                if (signingProps['deviceForTestersRelease.storePath'] != null) {
                     storeFile file(signingProps['deviceForTestersRelease.storePath'])
                     keyAlias signingProps['deviceForTestersRelease.keyAlias']
                     storePassword signingProps['deviceForTestersRelease.storePassword']
@@ -163,6 +163,12 @@ android {
             }
             println("deviceForTesters adjusted versionName: $adjustedVersionName")
         }
+
+        variant.outputs.each { output ->
+            def apkName = "Corona-Warn-App-${output.versionNameOverride}-${flavor.name}-${variant.buildType.name}.apk"
+            println("APK Name: $apkName")
+            output.outputFileName = apkName
+        }
     }
 
     buildFeatures {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt
index ac820f405175ffe5ab05f0edd103926d2fa8f434..2a3db46981b4bde9072fd312ff7ca5bb46298df4 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt
@@ -47,7 +47,7 @@ class ErrorReportReceiver(private val activity: Activity) : BroadcastReceiver()
             message += "#$apiStatusCode"
         }
 
-        val dialogTitle = if (intent.hasExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA)) {
+        val dialogTitle = if (intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA) != null) {
             intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA)
         } else {
             val errorTitle = context.resources.getString(R.string.errors_generic_details_headline)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt
index e8b2ec5daa6317fe2db5d430567d63d143a0b6e5..bdaf800b81943a52a073d86be4c6f94551347c1c 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt
@@ -10,8 +10,9 @@ import de.rki.coronawarnapp.exception.ExceptionCategory
 import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_GOOGLE_API_FAIL
 import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_GOOGLE_UPDATE_NEEDED
 import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_REACHED_REQUEST_LIMIT
-import de.rki.coronawarnapp.util.tryHumanReadableError
 import de.rki.coronawarnapp.util.CWADebug
+import de.rki.coronawarnapp.util.HasHumanReadableError
+import de.rki.coronawarnapp.util.tryHumanReadableError
 import java.io.PrintWriter
 import java.io.StringWriter
 
@@ -28,14 +29,20 @@ fun Throwable.report(
     reportProblem(tag = prefix, info = suffix)
     val context = CoronaWarnApplication.getAppContext()
 
-    val formattedError = this.tryHumanReadableError(context)
-
     val intent = Intent(ReportingConstants.ERROR_REPORT_LOCAL_BROADCAST_CHANNEL)
     intent.putExtra(ReportingConstants.ERROR_REPORT_CATEGORY_EXTRA, exceptionCategory.name)
     intent.putExtra(ReportingConstants.ERROR_REPORT_PREFIX_EXTRA, prefix)
     intent.putExtra(ReportingConstants.ERROR_REPORT_SUFFIX_EXTRA, suffix)
-    intent.putExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA, formattedError.title)
-    intent.putExtra(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, formattedError.description)
+
+    if (this is HasHumanReadableError) {
+        val humanReadable = this.tryHumanReadableError(context)
+        humanReadable.title?.let {
+            intent.putExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA, it)
+        }
+        intent.putExtra(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, humanReadable.description)
+    } else {
+        intent.putExtra(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, this.message)
+    }
 
     if (this is ReportedExceptionInterface) {
         intent.putExtra(ReportingConstants.ERROR_REPORT_CODE_EXTRA, this.code)
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt
index 0e8a55046adcd4317ced155237004c7f03b1c64c..1113f850fdbccf9aa39ddf50cdb728decc09e76c 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt
@@ -71,7 +71,7 @@ class BaseKeyPackageSyncToolTest : BaseIOTest() {
     )
 
     @Test
-    fun `key invalidation based on ETags`() = runBlockingTest {
+    fun `revoke keys based on ETags and return true if something happened`() = runBlockingTest {
         val invalidatedDay = mockk<KeyDownloadConfig.RevokedKeyPackage>().apply {
             every { etag } returns "etag-badday"
         }
@@ -106,7 +106,12 @@ class BaseKeyPackageSyncToolTest : BaseIOTest() {
         coEvery { keyCache.getAllCachedKeys() } returns listOf(badDay, goodDay, badHour, goodHour)
 
         val instance = createInstance()
-        instance.revokeCachedKeys(listOf(invalidatedDay, invalidatedHour))
+        instance.revokeCachedKeys(listOf(invalidatedDay, invalidatedHour)) shouldBe true
+
+        coEvery { keyCache.getAllCachedKeys() } returns emptyList()
+        instance.revokeCachedKeys(listOf(invalidatedDay, invalidatedHour)) shouldBe false
+
+        instance.revokeCachedKeys(emptyList()) shouldBe false
 
         coVerify { keyCache.delete(listOf(badDayInfo, badHourInfo)) }
     }
diff --git a/gradle.properties b/gradle.properties
index 2974345801f04919bc39c70e43305c810b323c9e..43acf78b7a8e600fcb0cc59815e1edecd3ed6cd4 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -20,4 +20,4 @@ org.gradle.dependency.verification.console=verbose
 VERSION_MAJOR=1
 VERSION_MINOR=8
 VERSION_PATCH=0
-VERSION_BUILD=1
+VERSION_BUILD=2