diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java
index d39e57f..d56713c 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/BookKeeper.java
@@ -231,7 +231,11 @@
         }
     }
 
-    public void sendStoredStatus() throws InterruptedException, IOException {
+    /**
+     * Send status stored in a previous run if exists
+     * @throws InterruptedException
+     */
+    public void sendStoredStatus() throws InterruptedException {
         try (Timer.Context context = distributionMetricsService.getSendStoredStatusDuration().time()) {
             PackageStatus status = new PackageStatus(statusStore.load());
             boolean sent = status.sent;
@@ -245,6 +249,8 @@
                     Thread.sleep(RETRY_SEND_DELAY);
                 }
             }
+        } catch (IOException e) {
+            log.warn("Error in timer close", e);
         }
     }
     
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
index 3a40fbf..14dd87d 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
@@ -360,17 +360,17 @@
 
     private void fetchAndProcessQueueItem() throws InterruptedException {
         try {
-            // send status stored in a previous run if exists
+            
             bookKeeper.sendStoredStatus();
-            // block until an item is available
             DistributionQueueItem item = blockingPeekQueueItem();
-            // and then process it
+
             subscriberIdle.busy();
             try (Timer.Context context = distributionMetricsService.getProcessQueueItemDuration().time()) {
                 processQueueItem(item);
             } finally {
                 subscriberIdle.idle();
             }
+
         } catch (IllegalStateException e) {
             /**
              * Precondition timed out. We only log this on info level as it is no error
