diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/calendar/CalendarDayViewHolder.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/calendar/CalendarDayViewHolder.kt
index 393f585c04f71bb7fabbd91de19db2fbf6fd05bb..3e365469585d10e4f7c212b0885accbe03ae5d9e 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/calendar/CalendarDayViewHolder.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/calendar/CalendarDayViewHolder.kt
@@ -38,8 +38,8 @@ class CalendarDayViewHolder(v: View) : RecyclerView.ViewHolder(v) {
         // Set day content description for talk back
         textView.contentDescription = day.date.toString(talkBackDateFormat)
 
-        // If date is after today - then disable click listener
-        if (!day.date.isAfter(today)) {
+        // If date is after today or exceeds 21 days in the past- then disable click listener
+        if (!day.date.isAfter(today) && !day.date.isBefore(today.minusDays(ONSET_PERIOD))) {
             textView.setOnClickListener { clickListener(day) }
         }
 
@@ -55,8 +55,8 @@ class CalendarDayViewHolder(v: View) : RecyclerView.ViewHolder(v) {
                 textView.setBackgroundResource(R.drawable.calendar_today_back)
                 textView.setTextColor(ContextCompat.getColor(context, R.color.colorCalendarTodayText))
             }
-            // Future
-            day.date.isAfter(today) -> {
+            // Future & past exceeding 21 days
+            day.date.isAfter(today) || day.date.isBefore(today.minusDays(ONSET_PERIOD)) -> {
                 textView.setBackgroundResource(0)
                 textView.setTextColor(ContextCompat.getColor(context, R.color.colorTextPrimary3))
             }
@@ -67,4 +67,9 @@ class CalendarDayViewHolder(v: View) : RecyclerView.ViewHolder(v) {
             }
         }
     }
+
+    companion object {
+        // Max number of days for the onset of symptoms to be calculated
+        private const val ONSET_PERIOD = 21
+    }
 }