diff --git a/src/dawn/wire/client/EventManager.cpp b/src/dawn/wire/client/EventManager.cpp
index fa80b6d..f567078 100644
--- a/src/dawn/wire/client/EventManager.cpp
+++ b/src/dawn/wire/client/EventManager.cpp
@@ -26,12 +26,13 @@
 
 EventManager::EventManager(Client* client) : mClient(client) {}
 
-FutureID EventManager::TrackEvent(WGPUCallbackMode mode, EventCallback&& callback) {
+std::pair<FutureID, bool> EventManager::TrackEvent(WGPUCallbackMode mode,
+                                                   EventCallback&& callback) {
     FutureID futureID = mNextFutureID++;
 
     if (mClient->IsDisconnected()) {
         callback(EventCompletionType::Shutdown);
-        return futureID;
+        return {futureID, false};
     }
 
     mTrackedEvents.Use([&](auto trackedEvents) {
@@ -40,7 +41,7 @@
         DAWN_ASSERT(inserted);
     });
 
-    return futureID;
+    return {futureID, true};
 }
 
 void EventManager::ShutDown() {
diff --git a/src/dawn/wire/client/EventManager.h b/src/dawn/wire/client/EventManager.h
index e2aae83..2260b73 100644
--- a/src/dawn/wire/client/EventManager.h
+++ b/src/dawn/wire/client/EventManager.h
@@ -18,6 +18,7 @@
 #include <cstddef>
 #include <functional>
 #include <unordered_map>
+#include <utility>
 
 #include "dawn/common/FutureUtils.h"
 #include "dawn/common/MutexProtected.h"
@@ -43,7 +44,9 @@
     explicit EventManager(Client*);
     ~EventManager() = default;
 
-    FutureID TrackEvent(WGPUCallbackMode mode, EventCallback&& callback);
+    // Returns a pair of the FutureID and a bool that is true iff the event was successfuly tracked,
+    // false otherwise. Events may not be tracked if the client is already disconnected.
+    std::pair<FutureID, bool> TrackEvent(WGPUCallbackMode mode, EventCallback&& callback);
     void ShutDown();
     void SetFutureReady(FutureID futureID);
     void ProcessPollEvents();
diff --git a/src/dawn/wire/client/Queue.cpp b/src/dawn/wire/client/Queue.cpp
index 26f662b..ad7c7e5 100644
--- a/src/dawn/wire/client/Queue.cpp
+++ b/src/dawn/wire/client/Queue.cpp
@@ -58,13 +58,16 @@
     DAWN_ASSERT(callbackInfo.nextInChain == nullptr);
 
     Client* client = GetClient();
-    FutureID futureIDInternal = client->GetEventManager()->TrackEvent(
+    auto [futureIDInternal, tracked] = client->GetEventManager()->TrackEvent(
         callbackInfo.mode, [=](EventCompletionType completionType) {
             WGPUQueueWorkDoneStatus status = completionType == EventCompletionType::Shutdown
                                                  ? WGPUQueueWorkDoneStatus_Unknown
                                                  : WGPUQueueWorkDoneStatus_Success;
             callbackInfo.callback(status, callbackInfo.userdata);
         });
+    if (!tracked) {
+        return {futureIDInternal};
+    }
 
     struct Lambda {
         Client* client;
