diff --git a/aeron-archiver/src/main/java/io/aeron/archiver/SessionWorkerDedicated.java b/aeron-archiver/src/main/java/io/aeron/archiver/SessionWorkerDedicated.java
index <HASH>..<HASH> 100644
--- a/aeron-archiver/src/main/java/io/aeron/archiver/SessionWorkerDedicated.java
+++ b/aeron-archiver/src/main/java/io/aeron/archiver/SessionWorkerDedicated.java
@@ -49,4 +49,9 @@ class SessionWorkerDedicated<T extends Session> extends SessionWorker<T>
             Thread.yield();
         }
     }
+
+    protected void preSessionsClose()
+    {
+        commandQueue.drain(Runnable::run);
+    }
 }
[Java] ensure queue is drained before close