diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CachedKeyFileHolder.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CachedKeyFileHolder.kt
index 97998f348d1a8ba6fc35b1a4d2dde5b53f0536a3..bd7a7158e751f49f5711566856405186c1617b80 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CachedKeyFileHolder.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CachedKeyFileHolder.kt
@@ -37,6 +37,7 @@ import kotlinx.coroutines.awaitAll
 import kotlinx.coroutines.withContext
 import timber.log.Timber
 import java.io.File
+import java.io.IOException
 import java.util.Collections
 import java.util.Date
 import java.util.UUID
@@ -121,7 +122,10 @@ object CachedKeyFileHolder {
             deferredQueries.awaitAll()
             Timber.v("${failedEntryCacheKeys.size} failed entries ")
             // For an error we clear the cache to try again
-            keyCache.clear(failedEntryCacheKeys)
+            if (failedEntryCacheKeys.isNotEmpty()) {
+                keyCache.clear(failedEntryCacheKeys)
+                throw IOException("failed to download all key files, at least one failing request.")
+            }
             keyCache.getFilesFromEntries()
                 .also { it.forEach { file -> Timber.v("cached file:${file.path}") } }
         }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CachedKeyFileHolderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CachedKeyFileHolderTest.kt
index 1d6e897947f32d9ffd2b948a821691e78cf1f184..607077c1a69ba68c85a333518508c4d6291eeb77 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CachedKeyFileHolderTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CachedKeyFileHolderTest.kt
@@ -38,7 +38,6 @@ class CachedKeyFileHolderTest {
         every { KeyCacheRepository.getDateRepository(any()) } returns keyCacheRepository
         mockkObject(CachedKeyFileHolder)
         coEvery { keyCacheRepository.deleteOutdatedEntries(any()) } just Runs
-        coEvery { keyCacheRepository.clear(any()) } just Runs
     }
 
     /**
@@ -65,7 +64,6 @@ class CachedKeyFileHolderTest {
                 keyCacheRepository.deleteOutdatedEntries(any())
                 CachedKeyFileHolder["getMissingDaysFromDiff"](arrayListOf<String>())
                 keyCacheRepository.getDates()
-                keyCacheRepository.clear(emptyList())
                 keyCacheRepository.getFilesFromEntries()
             }
         }