                     helper.showOverlay position
 
                 handleStartEvent: (event, ui) ->
+                    internalDrop = helper.checkOrigin(event)
+                    $(event.target).css('display','none') if internalDrop
+
+                    $.ui.ddmanager.prepareOffsets(
+                        $(event.target).data('draggable'), event
+                    )
+                    
+                    $(event.target).remove() if internalDrop
                     $(document).trigger('startPreventSave');
 
                 handleStopEvent: (event, ui) ->

            dnd =
                handleDragEvent: (event, ui) ->
                    tmpObject = $(".tmp", editable)
                    internalDrop = helper.checkOrigin(event)
                    position = helper.calcPosition(ui, offset)
                    $(event.target).remove() if internalDrop

                    if position is "middle"
                        if tmpObject.parent("div").length is 0

                    timer = setTimeout(functionToCall, delay)  unless timer

                # Calculate position on an initial drag
                calcPosition: (ui, offset, event) ->
                    position = offset.left + third
                    if event.pageX >= position and event.pageX <= (offset.left + third * 2)
                        "middle"
                    else if event.pageX < position
                        "left"
                    else "right"  if event.pageX > (offset.left + third * 2)

                # removes all temporary nodes created before
                removeTmpNodes: ->
