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 4925705a4bb88a784f162ff47f1b165072208820..4fa8b6effbc3f77ca7a780ac791cd07eb93f8ffc 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
@@ -3,29 +3,29 @@ package de.rki.coronawarnapp.exception.http
 import de.rki.coronawarnapp.exception.reporting.ErrorCodes
 import de.rki.coronawarnapp.exception.reporting.ReportedIOException
 
-open class CwaWebException(statusCode: Int) : ReportedIOException(
+open class CwaWebException(val statusCode: Int) : ReportedIOException(
     ErrorCodes.CWA_WEB_REQUEST_PROBLEM.code, "error during web request, http status $statusCode"
 )
 
-open class CwaServerError(val statusCode: Int) : CwaWebException(statusCode) {
+open class CwaServerError(statusCode: Int) : CwaWebException(statusCode) {
     init {
         if (statusCode !in 500..599)
             throw IllegalArgumentException("a server error has to have code 5xx")
     }
 }
 
-open class CwaClientError(val statusCode: Int) : CwaWebException(statusCode) {
+open class CwaClientError(statusCode: Int) : CwaWebException(statusCode) {
     init {
         if (statusCode !in 400..499)
             throw IllegalArgumentException("a client error has to have code 4xx")
     }
 }
 
-open class CwaSuccessResponseWithCodeMismatchNotSupportedError(val statusCode: Int) :
+open class CwaSuccessResponseWithCodeMismatchNotSupportedError(statusCode: Int) :
     CwaWebException(statusCode)
 
-open class CwaInformationalNotSupportedError(val statusCode: Int) : CwaWebException(statusCode)
-open class CwaRedirectNotSupportedError(val statusCode: Int) : CwaWebException(statusCode)
+open class CwaInformationalNotSupportedError(statusCode: Int) : CwaWebException(statusCode)
+open class CwaRedirectNotSupportedError(statusCode: Int) : CwaWebException(statusCode)
 
 class CwaUnknownHostException : CwaWebException(901)
 class BadRequestException : CwaClientError(400)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionQRCodeScanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionQRCodeScanFragment.kt
index 395769997db4c0b9672fd3d83ecb0b1b684a1add..704b7f3cf9142a75eb006c2f91ddc5468fbf5b3b 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionQRCodeScanFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionQRCodeScanFragment.kt
@@ -60,19 +60,7 @@ class SubmissionQRCodeScanFragment : Fragment(R.layout.fragment_submission_qr_co
                 { startDecode() },
                 ::navigateToDispatchScreen
             )
-            is CwaServerError -> DialogHelper.DialogInstance(
-                requireActivity(),
-                R.string.submission_error_dialog_web_generic_error_title,
-                getString(
-                    R.string.submission_error_dialog_web_generic_network_error_body,
-                    exception.statusCode
-                ),
-                R.string.submission_error_dialog_web_generic_error_button_positive,
-                null,
-                true,
-                ::navigateToDispatchScreen
-            )
-            is CwaClientError -> DialogHelper.DialogInstance(
+            is CwaClientError, is CwaServerError -> DialogHelper.DialogInstance(
                 requireActivity(),
                 R.string.submission_error_dialog_web_generic_error_title,
                 getString(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionResultPositiveOtherWarningFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionResultPositiveOtherWarningFragment.kt
index b864c0bc6edb3ecd2254809f39106495980e1fad..bd47c0037f3afd638e982ef19a556444ff8fcb24 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionResultPositiveOtherWarningFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionResultPositiveOtherWarningFragment.kt
@@ -14,6 +14,7 @@ import de.rki.coronawarnapp.databinding.FragmentSubmissionPositiveOtherWarningBi
 import de.rki.coronawarnapp.exception.http.BadRequestException
 import de.rki.coronawarnapp.exception.http.CwaClientError
 import de.rki.coronawarnapp.exception.http.CwaServerError
+import de.rki.coronawarnapp.exception.http.CwaWebException
 import de.rki.coronawarnapp.exception.http.ForbiddenException
 import de.rki.coronawarnapp.nearby.InternalExposureNotificationPermissionHelper
 import de.rki.coronawarnapp.ui.doNavigate
@@ -33,7 +34,7 @@ class SubmissionResultPositiveOtherWarningFragment :
 
     private val binding: FragmentSubmissionPositiveOtherWarningBinding by viewBindingLazy()
     private lateinit var internalExposureNotificationPermissionHelper:
-            InternalExposureNotificationPermissionHelper
+        InternalExposureNotificationPermissionHelper
 
     // Overrides default back behaviour
     private val backCallback: OnBackPressedCallback =
@@ -49,7 +50,7 @@ class SubmissionResultPositiveOtherWarningFragment :
         tracingViewModel.refreshIsTracingEnabled()
     }
 
-    private fun buildErrorDialog(exception: Exception): DialogHelper.DialogInstance {
+    private fun buildErrorDialog(exception: CwaWebException): DialogHelper.DialogInstance {
         return when (exception) {
             is BadRequestException -> DialogHelper.DialogInstance(
                 requireActivity(),
@@ -69,19 +70,7 @@ class SubmissionResultPositiveOtherWarningFragment :
                 true,
                 ::navigateToSubmissionResultFragment
             )
-            is CwaServerError -> DialogHelper.DialogInstance(
-                requireActivity(),
-                R.string.submission_error_dialog_web_generic_error_title,
-                getString(
-                    R.string.submission_error_dialog_web_generic_network_error_body,
-                    exception.statusCode
-                ),
-                R.string.submission_error_dialog_web_generic_error_button_positive,
-                null,
-                true,
-                ::navigateToSubmissionResultFragment
-            )
-            is CwaClientError -> DialogHelper.DialogInstance(
+            is CwaServerError, is CwaClientError -> DialogHelper.DialogInstance(
                 requireActivity(),
                 R.string.submission_error_dialog_web_generic_error_title,
                 getString(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTanFragment.kt
index b078ad1f964985625e333fdeae8b0166fe800a09..1244e7f44441379473f8bdda0d8dc3d2acfd641d 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTanFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTanFragment.kt
@@ -45,19 +45,7 @@ class SubmissionTanFragment : Fragment(R.layout.fragment_submission_tan) {
                 true,
                 ::goBack
             )
-            is CwaServerError -> DialogHelper.DialogInstance(
-                requireActivity(),
-                R.string.submission_error_dialog_web_generic_error_title,
-                getString(
-                    R.string.submission_error_dialog_web_generic_network_error_body,
-                    exception.statusCode
-                ),
-                R.string.submission_error_dialog_web_generic_error_button_positive,
-                null,
-                true,
-                ::goBack
-            )
-            is CwaClientError -> DialogHelper.DialogInstance(
+            is CwaClientError, is CwaServerError -> DialogHelper.DialogInstance(
                 requireActivity(),
                 R.string.submission_error_dialog_web_generic_error_title,
                 getString(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt
index f1491771d7a10538e5ddb3b6709b24f5acae2b3a..4e70213b31b9bb6de86a8a0ec9ef1cc0dbe6f0ff 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt
@@ -7,7 +7,6 @@ import android.view.accessibility.AccessibilityEvent
 import androidx.activity.OnBackPressedCallback
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
-import androidx.lifecycle.Observer
 import androidx.navigation.fragment.findNavController
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionTestResultBinding
@@ -51,19 +50,7 @@ class SubmissionTestResultFragment : Fragment(R.layout.fragment_submission_test_
 
     private fun buildErrorDialog(exception: CwaWebException): DialogHelper.DialogInstance {
         return when (exception) {
-            is CwaServerError -> DialogHelper.DialogInstance(
-                requireActivity(),
-                R.string.submission_error_dialog_web_generic_error_title,
-                getString(
-                    R.string.submission_error_dialog_web_generic_network_error_body,
-                    exception.statusCode
-                ),
-                R.string.submission_error_dialog_web_generic_error_button_positive,
-                null,
-                true,
-                ::navigateToMainScreen
-            )
-            is CwaClientError -> DialogHelper.DialogInstance(
+            is CwaClientError, is CwaServerError -> DialogHelper.DialogInstance(
                 requireActivity(),
                 R.string.submission_error_dialog_web_generic_error_title,
                 getString(
@@ -102,7 +89,7 @@ class SubmissionTestResultFragment : Fragment(R.layout.fragment_submission_test_
             DialogHelper.showDialog(buildErrorDialog(it))
         }
 
-        submissionViewModel.deviceUiState.observe(viewLifecycleOwner, Observer { uiState ->
+        submissionViewModel.deviceUiState.observe(viewLifecycleOwner, { uiState ->
             if (uiState == DeviceUIState.PAIRED_REDEEMED) {
                 showRedeemedTokenWarningDialog()
             }