diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInFragment.kt
index b2d4e6966c17ff02d5b504c1f8f4902cd2016a76..c2c41c171a2460b04492eac95fdf2c102bceed3d 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInFragment.kt
@@ -107,7 +107,6 @@ class ConfirmCheckInFragment : Fragment(R.layout.fragment_confirm_check_in), Aut
     ) {
         val durationPicker = DurationPicker.Builder()
             .duration(defaultValue ?: "00:00")
-            .minutes()
             .title(getString(R.string.duration_dialog_title))
             .build()
         durationPicker.show(parentFragmentManager, DURATION_PICKER_TAG)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInViewModel.kt
index 840682e97c68268d05e0cfc5ce38376f7c1a3eba..4fa1bc62e1d070432e2b243a727fe5facf39dc36 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/confirm/ConfirmCheckInViewModel.kt
@@ -20,6 +20,7 @@ import kotlinx.coroutines.flow.combine
 import org.joda.time.Duration
 import org.joda.time.Instant
 import org.joda.time.format.DateTimeFormat
+import kotlin.math.roundToLong
 
 class ConfirmCheckInViewModel @AssistedInject constructor(
     @Assisted private val verifiedTraceLocation: VerifiedTraceLocation,
@@ -28,11 +29,14 @@ class ConfirmCheckInViewModel @AssistedInject constructor(
 ) : CWAViewModel() {
     private val traceLocation = MutableStateFlow(verifiedTraceLocation.traceLocation)
     private val createJournalEntry = MutableStateFlow(true)
-    private val checkInLength = MutableStateFlow(
-        Duration.standardMinutes(
-            verifiedTraceLocation.traceLocation.defaultCheckInLengthInMinutes?.toLong() ?: 0L
-        )
+
+    private val truncatedDefaultCheckInLength = roundToNearestValidDuration(
+        verifiedTraceLocation.traceLocation.defaultCheckInLengthInMinutes ?: 0
     )
+    private val checkInLength = MutableStateFlow(truncatedDefaultCheckInLength)
+
+    private fun roundToNearestValidDuration(minutes: Int): Duration =
+        Duration.standardMinutes((minutes.toFloat() / 15).roundToLong() * 15)
 
     val openDatePickerEvent = SingleLiveEvent<String>()
     val events = SingleLiveEvent<ConfirmCheckInNavigation>()
@@ -98,7 +102,7 @@ class ConfirmCheckInViewModel @AssistedInject constructor(
             address = traceLocation.address,
             traceLocationStart = traceLocation.startDate,
             traceLocationEnd = traceLocation.endDate,
-            defaultCheckInLengthInMinutes = traceLocation.defaultCheckInLengthInMinutes,
+            defaultCheckInLengthInMinutes = truncatedDefaultCheckInLength.standardMinutes.toInt(),
             cryptographicSeed = traceLocation.cryptographicSeed,
             cnPublicKey = traceLocation.cnPublicKey,
             checkInStart = checkInStart,