       iconOnly  : yes
       iconClass : "plus"
       callback  : =>
-        @addItem {key: '', title: ''}, 0
-        @getListView().items.first.swapSwappable()
+        unless @newItem
+          @newItem = true
+          @addItem {key: '', title: ''}, 0
+          @getListView().items.first.swapSwappable()
 
   addCustomItem:(message)->
     @removeAllItems()

        console.log "Saved keys."

    @getListView().on "RemoveItem", (item)=>
      @removeItem item
      @getListView().emit "UpdatedItems"

  loadItems: ()->
    @removeAllItems()

    @loadItems()

    @getListView().on "UpdatedItems", =>
      @newItem = no
      newKeys = @getItemsOrdered().map (item)-> item.getData()
      if newKeys.length is 0
        @addCustomItem "You have no SSH keys."
