     return unless KD.isLoggedIn()
     return warn 'No such VM!'  unless vmItem = @getVmNode vmName
 
-    @saveMountState vmName, no
+    @updateMountState vmName, no
 
     if vmItem
       @stopWatching vmItem.data.path

    else
      groupSlug  = KD.singletons.groupsController.getGroupSlug()
      groupSlug ?= 'koding'
      appStorage = new AppStorage "vm-list", "1.0"
      appStorage.fetchValue groupSlug, (vms)->
        vms or= []
        if vms.length > 0
          mountVms vms
        else
          KD.remote.api.JVM.fetchVmsByContext {}, (err, vms)->
            return callback? err  if err

    for path, vmItem of @treeController.nodes  when vmItem.data?.type is 'vm'
      return vmItem  if vmItem.data.vmName is vmName

  updateMountState:(vmName, state)->
    groupSlug  = KD.singletons.groupsController.getGroupSlug()
    groupSlug ?= 'koding'
    @appStorage.fetchValue "mountedVM", (vms)=>
      vms or= {}
      vms[groupSlug] or= []
      items = vms[groupSlug]
      if state and vmName not in items
        items.push vmName
      else if not state and vmName in items
        items.splice items.indexOf(vmName), 1
      @appStorage.setValue "mountedVM", vms

  mountVm:(vm, fetchContent = yes)->
    return unless KD.isLoggedIn()
