diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java b/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java
index e7ff4b7..0514706 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/shared/JournalAvailableChecker.java
@@ -103,8 +103,6 @@
 
     private void available() {
         LOG.info("Journal is available");
-        IOUtils.closeQuietly(this.backoffRetry);
-        this.backoffRetry = null;
         if (this.reg == null) {
             this.reg = context.registerService(JournalAvailable.class, this, null);
         }
@@ -146,7 +144,7 @@
     public synchronized void handleEvent(Event event) {
         String type = (String) event.getProperty(ExceptionEventSender.KEY_TYPE);
         int curNumErrors = this.numErrors.incrementAndGet();
-        if (this.backoffRetry == null && curNumErrors >= MIN_ERRORS) {
+        if (curNumErrors >= MIN_ERRORS) {
             LOG.warn("Received exception event {}. Journal is considered unavailable.", type);
             unRegister();
             this.numErrors.set(0);
