                 
                 //  Insert item at valid offset, else append
                 if (row+newIndexOffset) < (playitemArrayController.arrangedObjects as AnyObject).count {
-                    addPlay(item!, atIndex: row + newIndexOffset)
+                    addItem(item!, atIndex: row + newIndexOffset)
                     
                     //  Dropping on from a sourceTableView implies replacement
                     if dropOperation == .on {

    //  but use their index to update the controller scrolling only initially.

    //  "Play" items are individual PlayItem items, part of a playlist
    internal func addPlay(_ item: PlayItem, atIndex p_index: Int) {
        var index = p_index
        if let undo = self.undoManager {
            undo.registerUndo(withTarget: self, handler: {[oldVals = ["item": item, "index": index] as [String : Any]] (PlaylistViewController) -> () in

            let item = PlayItem()
            item.rank = (list.count > 0) ? (list.last?.rank)! + 1 : 1

            self.addItem(item, atIndex: -1)
        }
        else
        {
