diff --git a/src/middleware/verifier.rs b/src/middleware/verifier.rs
index 66df9b6..8234787 100644
--- a/src/middleware/verifier.rs
+++ b/src/middleware/verifier.rs
@@ -26,6 +26,9 @@ impl MyVerify {
     ) -> Result<bool, Error> {
         let public_key_id = iri!(key_id);
 
+        // receiving an activity from a domain indicates it is probably online
+        self.0.reset_breaker(&public_key_id);
+
         let actor_id = if let Some(mut actor_id) = self
             .2
             .db
diff --git a/src/requests.rs b/src/requests.rs
index 5330d77..3677399 100644
--- a/src/requests.rs
+++ b/src/requests.rs
@@ -187,6 +187,10 @@ impl Requests {
         }
     }
 
+    pub(crate) fn reset_breaker(&self, iri: &IriString) {
+        self.breakers.succeed(iri);
+    }
+
     fn count_err(&self) {
         let count = self.consecutive_errors.fetch_add(1, Ordering::Relaxed);
         if count + 1 >= self.error_limit {