       @updateIcon()
 
     if typeof @item.onDidChangeIcon is 'function'
-      @subscriptions.add @item.onDidChangeIcon? =>
+      onDidChangeIconDisposable = @item.onDidChangeIcon? =>
         @updateIcon()
+      if Disposable.isDisposable(onDidChangeIconDisposable)
+        @subscriptions.add(onDidChangeIconDisposable)
+      else
+        console.warn "::onDidChangeIcon does not return a valid Disposable!"
     else if typeof @item.on is 'function'
       #TODO Remove once old events are no longer supported
       @item.on('icon-changed', iconChangedHandler)

      if Disposable.isDisposable(onDidChangeModifiedDisposable)
        @subscriptions.add(onDidChangeModifiedDisposable)
      else
        console.warn "::onDidChangeModified does not return a valid disposable!"
    else if typeof @item.on is 'function'
      #TODO Remove once old events are no longer supported
      @item.on('modified-status-changed', modifiedHandler)

      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)
