diff --git a/libs/askar/src/askar/services/agent.connections.service.ts b/libs/askar/src/askar/services/agent.connections.service.ts
index 3140ac0ab40c9e5f30975024b1297b9c7f339c7a..b6da01a3b2cf1534fbbad3914af1fb77aebcac2b 100644
--- a/libs/askar/src/askar/services/agent.connections.service.ts
+++ b/libs/askar/src/askar/services/agent.connections.service.ts
@@ -84,10 +84,13 @@ export class AgentConnectionsService {
   };
 
   deleteConnectionById = async (id: string): Promise<void> => {
-    await this.askar.agent.connections.hangup({
-      connectionId: id,
-      deleteAfterHangup: true,
-    });
+    const connection = await this.askar.agent.connections.getById(id);
+    if (connection.theirDid) {
+      await this.askar.agent.connections.hangup({
+        connectionId: id,
+      });
+    }
+    await this.askar.agent.connections.deleteById(id);
   };
 
   trustPingToConnection = async (connectionId: string) => {