diff --git a/src/VisualStudio/Core/Def/ProjectSystem/OpenTextBufferProvider.cs b/src/VisualStudio/Core/Def/ProjectSystem/OpenTextBufferProvider.cs index 3ac5104689552..0ada13e854db9 100644 --- a/src/VisualStudio/Core/Def/ProjectSystem/OpenTextBufferProvider.cs +++ b/src/VisualStudio/Core/Def/ProjectSystem/OpenTextBufferProvider.cs @@ -329,9 +329,13 @@ public void Dispose() return; } - var runningDocumentTableForEvents = (IVsRunningDocumentTable)_runningDocumentTable.Value; - runningDocumentTableForEvents.UnadviseRunningDocTableEvents(_runningDocumentTableEventsCookie); - _runningDocumentTableEventsCookie = 0; + // Unsubscribe from the RDT, assuming we ever subscribed in the first case + if (_runningDocumentTable.IsValueCreated) + { + var runningDocumentTableForEvents = (IVsRunningDocumentTable)_runningDocumentTable.Value; + runningDocumentTableForEvents.UnadviseRunningDocTableEvents(_runningDocumentTableEventsCookie); + _runningDocumentTableEventsCookie = 0; + } _isDisposed = true; }