diff --git a/src/matrix/calls/group/GroupCall.ts b/src/matrix/calls/group/GroupCall.ts
index 9ef2e068..0460c212 100644
--- a/src/matrix/calls/group/GroupCall.ts
+++ b/src/matrix/calls/group/GroupCall.ts
@@ -191,6 +191,7 @@ export class GroupCall extends EventEmitter<{change: never}> {
     join(localMedia: LocalMedia, log?: ILogItem): Promise<void> {
         return this.options.logger.wrapOrRun(log, "Call.join", async joinLog => {
             if (this._state !== GroupCallState.Created || this.joinedData || this.usesFoci) {
+                localMedia.dispose();
                 return;
             }
             const logItem = this.options.logger.child({