diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt
index cdbae945643e8df4c020dda6c6670256b99307de..4925705a4bb88a784f162ff47f1b165072208820 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt
@@ -27,6 +27,7 @@ open class CwaSuccessResponseWithCodeMismatchNotSupportedError(val statusCode: I
 open class CwaInformationalNotSupportedError(val statusCode: Int) : CwaWebException(statusCode)
 open class CwaRedirectNotSupportedError(val statusCode: Int) : CwaWebException(statusCode)
 
+class CwaUnknownHostException : CwaWebException(901)
 class BadRequestException : CwaClientError(400)
 class UnauthorizedException : CwaClientError(401)
 class ForbiddenException : CwaClientError(403)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/HttpErrorParser.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/HttpErrorParser.kt
index 4cda5df1eb32c3c6a672bf7fbd7960dab92ff8ee..dec2043075ebf8241f0f91301c1905b0bc1ab6b2 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/HttpErrorParser.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/HttpErrorParser.kt
@@ -8,6 +8,7 @@ import de.rki.coronawarnapp.exception.http.CwaInformationalNotSupportedError
 import de.rki.coronawarnapp.exception.http.CwaRedirectNotSupportedError
 import de.rki.coronawarnapp.exception.http.CwaServerError
 import de.rki.coronawarnapp.exception.http.CwaSuccessResponseWithCodeMismatchNotSupportedError
+import de.rki.coronawarnapp.exception.http.CwaUnknownHostException
 import de.rki.coronawarnapp.exception.http.CwaWebException
 import de.rki.coronawarnapp.exception.http.ForbiddenException
 import de.rki.coronawarnapp.exception.http.GatewayTimeoutException
@@ -25,40 +26,47 @@ import de.rki.coronawarnapp.exception.http.UnauthorizedException
 import de.rki.coronawarnapp.exception.http.UnsupportedMediaTypeException
 import okhttp3.Interceptor
 import okhttp3.Response
+import java.net.UnknownHostException
 
 class HttpErrorParser : Interceptor {
     override fun intercept(chain: Interceptor.Chain): Response {
-        val response = chain.proceed(chain.request())
-        return when (val code = response.code) {
-            200 -> response
-            201 -> response
-            202 -> response
-            204 -> response
-            400 -> throw BadRequestException()
-            401 -> throw UnauthorizedException()
-            403 -> throw ForbiddenException()
-            404 -> throw NotFoundException()
-            409 -> throw ConflictException()
-            410 -> throw GoneException()
-            415 -> throw UnsupportedMediaTypeException()
-            429 -> throw TooManyRequestsException()
-            500 -> throw InternalServerErrorException()
-            501 -> throw NotImplementedException()
-            502 -> throw BadGatewayException()
-            503 -> throw ServiceUnavailableException()
-            504 -> throw GatewayTimeoutException()
-            505 -> throw HTTPVersionNotSupported()
-            511 -> throw NetworkAuthenticationRequiredException()
-            598 -> throw NetworkReadTimeoutException()
-            599 -> throw NetworkConnectTimeoutException()
-            else -> {
-                if (code in 100..199) throw CwaInformationalNotSupportedError(code)
-                if (code in 200..299) throw CwaSuccessResponseWithCodeMismatchNotSupportedError(code)
-                if (code in 300..399) throw CwaRedirectNotSupportedError(code)
-                if (code in 400..499) throw CwaClientError(code)
-                if (code in 500..599) throw CwaServerError(code)
-                throw CwaWebException(code)
+        try {
+            val response = chain.proceed(chain.request())
+            return when (val code = response.code) {
+                200 -> response
+                201 -> response
+                202 -> response
+                204 -> response
+                400 -> throw BadRequestException()
+                401 -> throw UnauthorizedException()
+                403 -> throw ForbiddenException()
+                404 -> throw NotFoundException()
+                409 -> throw ConflictException()
+                410 -> throw GoneException()
+                415 -> throw UnsupportedMediaTypeException()
+                429 -> throw TooManyRequestsException()
+                500 -> throw InternalServerErrorException()
+                501 -> throw NotImplementedException()
+                502 -> throw BadGatewayException()
+                503 -> throw ServiceUnavailableException()
+                504 -> throw GatewayTimeoutException()
+                505 -> throw HTTPVersionNotSupported()
+                511 -> throw NetworkAuthenticationRequiredException()
+                598 -> throw NetworkReadTimeoutException()
+                599 -> throw NetworkConnectTimeoutException()
+                else -> {
+                    if (code in 100..199) throw CwaInformationalNotSupportedError(code)
+                    if (code in 200..299) throw CwaSuccessResponseWithCodeMismatchNotSupportedError(
+                        code
+                    )
+                    if (code in 300..399) throw CwaRedirectNotSupportedError(code)
+                    if (code in 400..499) throw CwaClientError(code)
+                    if (code in 500..599) throw CwaServerError(code)
+                    throw CwaWebException(code)
+                }
             }
+        } catch (err: UnknownHostException) {
+            throw CwaUnknownHostException()
         }
     }
 }