diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt
index 7088a91ac155aed07d229ac9296189331941057d..68167454aaf53ae488865e5a01af6afb894f7d27 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/http/WebRequestBuilder.kt
@@ -192,7 +192,7 @@ object WebRequestBuilder {
     ) =
         suspendCoroutine<String> { cont ->
             val requestID = UUID.randomUUID()
-            val getTestResultRequest =
+            val getTANRequest =
                 TanRequest(
                     url,
                     requestID,
@@ -209,7 +209,7 @@ object WebRequestBuilder {
                     },
                     RequestErrorListener(requestID, cont)
                 )
-            RequestQueueHolder.addToRequestQueue(getTestResultRequest)
+            RequestQueueHolder.addToRequestQueue(getTANRequest)
             Log.d(TAG, "$requestID: Added $url to queue.")
         }
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt
index b6751d06c724478e4fe715909b3cfff332a1727d..77f4d57c139bd54349221890e6e41a87f50f045a 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/service/submission/SubmissionService.kt
@@ -22,6 +22,7 @@ object SubmissionService {
             testTAN != null -> asyncRegisterDeviceViaTAN(testTAN)
             else -> throw NoGUIDOrTANSetException()
         }
+        LocalData.devicePairingSuccessfulTimestamp(System.currentTimeMillis())
     }
 
     private suspend fun asyncRegisterDeviceViaGUID(guid: String) {
@@ -73,6 +74,7 @@ object SubmissionService {
 
     fun deleteRegistrationToken() {
         LocalData.registrationToken(null)
+        LocalData.devicePairingSuccessfulTimestamp(0L)
     }
 
     private fun deleteAuthCode() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt
index a469d22a34525e210c25ce4af9aee1396ef555ea..7725698b6db5cbfd31fcb576e1ca0dd55ec010c3 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt
@@ -386,6 +386,24 @@ object LocalData {
         return timestamp
     }
 
+    fun devicePairingSuccessfulTimestamp(value: Long) =
+        with(getSharedPreferenceInstance().edit()) {
+            putLong(
+                CoronaWarnApplication.getAppContext()
+                    .getString(R.string.preference_device_pairing_successful_time),
+                value
+            )
+            commit()
+        }
+
+    fun devicePairingSuccessfulTimestamp(): Long? {
+        return getSharedPreferenceInstance().getLong(
+            CoronaWarnApplication.getAppContext()
+                .getString(R.string.preference_device_pairing_successful_time),
+            0L
+        )
+    }
+
     fun numberOfSuccessfulSubmissions(value: Int) =
         getSharedPreferenceInstance().edit(true) {
             putInt(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SubmissionRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SubmissionRepository.kt
index 839ab07154fd8e9af0843b08226b5891f7228423..5d3546d60344dadc673df5f389c561195ce40388 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SubmissionRepository.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/SubmissionRepository.kt
@@ -19,12 +19,14 @@ object SubmissionRepository {
         val testResultValue =
             WebRequestBuilder.asyncGetTestResult(TEST_RESULT_URL, registrationToken)
         testResult.value = TestResult.fromInt(testResultValue)
-
+        if (testResult == TestResult.POSITIVE) {
+            LocalData.isAllowedToSubmitDiagnosisKeys(true)
+        }
         val initialTestResultReceivedTimestamp = LocalData.inititalTestResultReceivedTimestamp()
 
         if (initialTestResultReceivedTimestamp == null) {
             val currentTime = System.currentTimeMillis()
-            LocalData.initialTracingActivationTimestamp(currentTime)
+            LocalData.inititalTestResultReceivedTimestamp(currentTime)
             testResultReceivedDate.value = Date(currentTime)
         } else {
             testResultReceivedDate.value = Date(initialTestResultReceivedTimestamp)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
index 1fec0e4e1226d05b91e02297eed8aa3c73900a81..e1fda8bb4e794f61c1bc300aa34974c0871168e4 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/SubmissionViewModel.kt
@@ -60,6 +60,8 @@ class SubmissionViewModel : ViewModel() {
     fun deregisterTestFromDevice() {
         deleteTestGUID()
         SubmissionService.deleteRegistrationToken()
+        LocalData.isAllowedToSubmitDiagnosisKeys(false)
+        LocalData.inititalTestResultReceivedTimestamp(0L)
     }
 
     private fun executeRequestWithState(apiRequest: suspend () -> Unit, state: MutableLiveData<ApiRequestState>) {
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 9075db9a4438a24f14d71acc9beafe0c31ba7cdf..2839a6bc0dfaf575c21b9ef4eb52e60c00595113 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -47,6 +47,9 @@
     <string name="preference_m_registration_token">
         <xliff:g id="preference">preference_m_registration_token</xliff:g>
     </string>
+    <string name="preference_device_pairing_successful_time">
+        <xliff:g id="preference">preference_device_pairing_successful_time</xliff:g>
+    </string>
     <string name="preference_initial_tracing_activation_time">
         <xliff:g id="preference">preference_initial_tracing_activation_time</xliff:g>
     </string>