diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt
index 3423316e4783ec40651d668214bef499ba4880cc..6c5384b49dc6b328b67a05eb293109ce9f05cbdd 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt
@@ -55,15 +55,18 @@ class SubmissionConsentFragment : Fragment(R.layout.fragment_submission_consent)
                         requireActivity(),
                         REQUEST_USER_RESOLUTION
                     )
-                is SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode -> {
-                    doNavigate(
-                        NavGraphDirections
-                            .actionToSubmissionDeletionWarningFragment(
-                                testRegistrationRequest = it.coronaTestQRCode,
-                                isConsentGiven = it.consentGiven,
-                            )
+                is SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode -> doNavigate(
+                    NavGraphDirections.actionToSubmissionDeletionWarningFragment(
+                        testRegistrationRequest = it.coronaTestQRCode,
+                        isConsentGiven = it.consentGiven,
                     )
-                }
+                )
+                is SubmissionNavigationEvents.NavigateToRequestDccFragment -> doNavigate(
+                    NavGraphDirections.actionRequestCovidCertificateFragment(
+                        testRegistrationRequest = it.coronaTestQRCode,
+                        coronaTestConsent = it.consentGiven
+                    )
+                )
             }
         }
         viewModel.countries.observe2(this) {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt
index 4bd68d5045e1c50daba3de2ac99f2ab086d84fdd..643028c08ebfdd80dd2992c326020d243adc3031 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt
@@ -83,17 +83,26 @@ class SubmissionConsentViewModel @AssistedInject constructor(
 
         val coronaTest = submissionRepository.testForType(coronaTestQRCode.type).first()
 
-        if (coronaTest != null) {
-            SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode(
-                coronaTestQRCode,
-                consentGiven = true
-            ).run { routeToScreen.postValue(this) }
-        } else {
-            registrationStateProcessor.startRegistration(
-                request = coronaTestQRCode,
-                isSubmissionConsentGiven = true,
-                allowReplacement = false
-            )
+        when {
+            coronaTest != null -> {
+                SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode(
+                    coronaTestQRCode,
+                    consentGiven = true
+                ).run { routeToScreen.postValue(this) }
+            }
+            coronaTestQRCode.isDccSupportedByPoc && !coronaTestQRCode.isDccConsentGiven -> {
+                SubmissionNavigationEvents.NavigateToRequestDccFragment(
+                    coronaTestQRCode = coronaTestQRCode,
+                    consentGiven = true,
+                ).run { routeToScreen.postValue(this) }
+            }
+            else -> {
+                registrationStateProcessor.startRegistration(
+                    request = coronaTestQRCode,
+                    isSubmissionConsentGiven = true,
+                    allowReplacement = false
+                )
+            }
         }
     }