         @item.off?('modified-status-changed', modifiedHandler)
 
     if typeof @item.onDidSave is 'function'
-      @subscriptions.add @item.onDidSave (event) =>
+      onDidSaveDisposable = @item.onDidSave (event) =>
         @clearPreview()
         if event.path isnt @path
           @path = event.path
           @setupVcsStatus() if atom.config.get 'tabs.enableVcsColoring'
 
+      if Disposable.isDisposable(onDidSaveDisposable)
+        @subscriptions.add(onDidSaveDisposable)
+      else
+        console.warn "::onDidSave does not return a valid Disposable!"
     @subscriptions.add atom.config.observe 'tabs.showIcons', =>
       @updateIconVisibility()
 

      @updateIcon()

    if typeof @item.onDidChangeIcon is 'function'
      @subscriptions.add @item.onDidChangeIcon? =>
        @updateIcon()
    else if typeof @item.on is 'function'
      #TODO Remove once old events are no longer supported
      @item.on('icon-changed', iconChangedHandler)

      if Disposable.isDisposable(onDidChangeTitleDisposable)
        @subscriptions.add(onDidChangeTitleDisposable)
      else
        console.warn "::onDidChangeTitle does not return a valid Disposable!"
    else if typeof @item.on is 'function'
      #TODO Remove once old events are no longer supported
      @item.on('title-changed', titleChangedHandler)
