diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt
index 02bbd1094ab780bca94d6ccff43a31e8555f7bae..df07ac03d4ea7e926c5a414586ec28fbdd7dfbe6 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt
@@ -79,7 +79,15 @@ class AppConfigServer @Inject constructor(
 
         val cacheControl = CacheControl.parse(headers)
 
-        val maxCacheAge = Duration.standardSeconds(cacheControl.maxAgeSeconds.toLong())
+        val maxCacheAge = cacheControl.maxAgeSeconds.let {
+            if (it == 0) {
+                // Server currently returns `Cache-Control	max-age=0, no-cache, no-store` which breaks our caching
+                Timber.tag(TAG).w("Server returned max-age=0: %s", cacheControl)
+                Duration.standardSeconds(300)
+            } else {
+                Duration.standardSeconds(it.toLong())
+            }
+        }
 
         return InternalConfigData(
             rawData = rawConfig,
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt
index e5fffdcd31f6232ee060e0dd184e6e448bfb5621..c622c01cdbee90db12d47b2ba57257972322327d 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt
@@ -229,6 +229,35 @@ class AppConfigServerTest : BaseIOTest() {
         )
     }
 
+    @Test
+    fun `cache control with max-age=0 defaults to 300 seconds`() = runBlockingTest {
+        coEvery { api.getApplicationConfiguration() } returns Response.success(
+            APPCONFIG_BUNDLE.toResponseBody(),
+            Headers.headersOf(
+                "Date",
+                "Tue, 03 Nov 2020 08:46:03 GMT",
+                "ETag",
+                "I am an ETag :)!",
+                "Cache-Control",
+                "max-age=0, no-cache, no-store"
+            )
+        )
+
+        val downloadServer = createInstance()
+
+        val configDownload = downloadServer.downloadAppConfig()
+        configDownload shouldBe InternalConfigData(
+            rawData = APPCONFIG_RAW,
+            serverTime = Instant.parse("2020-11-03T08:46:03.000Z"),
+            localOffset = Duration(
+                Instant.parse("2020-11-03T08:46:03.000Z"),
+                Instant.ofEpochMilli(123456789)
+            ),
+            etag = "I am an ETag :)!",
+            cacheValidity = Duration.standardSeconds(300)
+        )
+    }
+
     companion object {
         private val APPCONFIG_BUNDLE =
             (