diff --git a/src/dht.cpp b/src/dht.cpp
index c1550185a11af508805935f093d3a096f5d5ac38..1782f870a681ff534a312e2527fdaf4a4005770a 100644
--- a/src/dht.cpp
+++ b/src/dht.cpp
@@ -1213,6 +1213,9 @@ void Dht::searchSendAnnounceValue(const std::shared_ptr<Search>& sr) {
                                     /* step to clear announces */
                                     scheduler.edit(sr->nextSearchStep, now);
                                 }
+                            } else {
+                                /* Search is now unsynced. Let's call searchStep to sync again. */
+                                scheduler.edit(sr->nextSearchStep, sr->getNextStepTime(types, now));
                             }
                             ++ait;
                         }