diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/CoronaTestRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/CoronaTestRepository.kt
index 2921477f4d0bbddf6ae3ea9a7041d0df92055cd8..3e35ebfa07e11b1194ca6d8a214f785906ef1b10 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/CoronaTestRepository.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/CoronaTestRepository.kt
@@ -2,6 +2,7 @@ package de.rki.coronawarnapp.coronatest
 
 import androidx.annotation.VisibleForTesting
 import de.rki.coronawarnapp.bugreporting.reportProblem
+import de.rki.coronawarnapp.coronatest.errors.CoronaTestNotFoundException
 import de.rki.coronawarnapp.coronatest.migration.PCRTestMigration
 import de.rki.coronawarnapp.coronatest.qrcode.CoronaTestGUID
 import de.rki.coronawarnapp.coronatest.qrcode.CoronaTestQRCode
@@ -123,7 +124,7 @@ class CoronaTestRepository @Inject constructor(
 
         internalData.updateBlocking {
             val toBeRemoved = values.singleOrNull { it.identifier == identifier }
-                ?: throw IllegalArgumentException("No found for $identifier")
+                ?: throw CoronaTestNotFoundException("No found for $identifier")
 
             getProcessor(toBeRemoved.type).onRemove(toBeRemoved)
 
@@ -236,7 +237,7 @@ class CoronaTestRepository @Inject constructor(
     ) {
         internalData.updateBlocking {
             val original = values.singleOrNull { it.identifier == identifier }
-                ?: throw IllegalArgumentException("No found for $identifier")
+                ?: throw CoronaTestNotFoundException("No test found for $identifier")
 
             val processor = getProcessor(original.type)
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/errors/CoronaTestNotFoundException.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/errors/CoronaTestNotFoundException.kt
new file mode 100644
index 0000000000000000000000000000000000000000..5b0b92c1131c40252541088f50f3c530d04cf8b1
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/errors/CoronaTestNotFoundException.kt
@@ -0,0 +1,5 @@
+package de.rki.coronawarnapp.coronatest.errors
+
+class CoronaTestNotFoundException(
+    message: String
+) : IllegalArgumentException(message)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/SubmissionRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/SubmissionRepository.kt
index 7e621ecff18388ef2a5f100003def572229cb6eb..70549aee1c17eb4acd80e6bdc2b7004a6e08b1ad 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/SubmissionRepository.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/SubmissionRepository.kt
@@ -2,6 +2,7 @@ package de.rki.coronawarnapp.submission
 
 import de.rki.coronawarnapp.coronatest.CoronaTestRepository
 import de.rki.coronawarnapp.coronatest.TestRegistrationRequest
+import de.rki.coronawarnapp.coronatest.errors.CoronaTestNotFoundException
 import de.rki.coronawarnapp.coronatest.server.CoronaTestResult
 import de.rki.coronawarnapp.coronatest.type.CoronaTest
 import de.rki.coronawarnapp.coronatest.type.pcr.PCRCoronaTest
@@ -101,9 +102,15 @@ class SubmissionRepository @Inject constructor(
 
         scope.launch {
             val test = coronaTestRepository.coronaTests.first().singleOrNull { it.type == type }
-                ?: throw IllegalStateException("No test of type $type available")
-
-            coronaTestRepository.removeTest(identifier = test.identifier)
+            if (test == null) {
+                Timber.tag(TAG).w("There is no test of type=$type to remove.")
+                return@launch
+            }
+            try {
+                coronaTestRepository.removeTest(identifier = test.identifier)
+            } catch (e: CoronaTestNotFoundException) {
+                Timber.tag(TAG).e(e, "Test not found (type=$type), already removed?")
+            }
         }
     }