diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt
index 78a179ea7829394a66f4b71d8c8bcb6ab7f99d69..e0693a2cfa255fd09dd142b6a0a6395881b65f6d 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt
@@ -1,6 +1,6 @@
 /*
  * Briar Desktop
- * Copyright (C) 2021-2022 The Briar Project
+ * Copyright (C) 2021-2023 The Briar Project
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -66,7 +66,7 @@ fun ColumnScope.ExpirationBanner(onExpired: () -> Unit) {
 
     var hideTimestamp by remember { mutableStateOf(0L) }
 
-    var showExpirationBanner by remember { mutableStateOf(value = true) }
+    var showExpirationBanner by remember { mutableStateOf(false) }
 
     LaunchedEffect(Unit) {
         periodicallyCheckIfExpired(
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt
index 816a23cc086f192e60666436228a02bb519f4e4b..e0330ec8551f4306f0b441e47f1290bea10d9abd 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt
@@ -1,6 +1,6 @@
 /*
  * Briar Desktop
- * Copyright (C) 2021-2022 The Briar Project
+ * Copyright (C) 2021-2023 The Briar Project
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -28,11 +28,13 @@ import kotlin.time.Duration.Companion.milliseconds
 object ExpirationUtils {
 
     private val EXPIRE_AFTER = BuildData.GIT_TIME + 181.days.inWholeMilliseconds
+    private val SHOW_THRESHOLD = 60.days.inWholeMilliseconds
     private val CHECK_INTERVAL = 1.hours.inWholeMilliseconds
     private val HIDE_INTERVAL = 1.days.inWholeMilliseconds
 
     // for testing uncomment the following instead
     // private val EXPIRE_AFTER = Instant.now().toEpochMilli() + 30.seconds.inWholeMilliseconds
+    // private val SHOW_THRESHOLD = 10.seconds.inWholeMilliseconds
     // private val CHECK_INTERVAL = 1.seconds.inWholeMilliseconds
     // private val HIDE_INTERVAL = 10.seconds.inWholeMilliseconds
 
@@ -42,6 +44,8 @@ object ExpirationUtils {
 
     private fun isExpired() = getMillisLeft() <= 0.milliseconds
 
+    private fun expiryIsFar() = getMillisLeft() > SHOW_THRESHOLD.milliseconds
+
     private fun hideThreshold() = System.currentTimeMillis() - HIDE_INTERVAL
 
     suspend fun periodicallyCheckIfExpired(
@@ -50,7 +54,9 @@ object ExpirationUtils {
         onExpiry: () -> Unit,
     ) {
         while (true) {
-            if (isExpired()) {
+            if (expiryIsFar()) {
+                // do nothing
+            } else if (isExpired()) {
                 onExpiry()
                 break
             } else {