                       (setq new-kill-ring-yank-pointer kill-ring-yank-pointer))
 
                     ;; execute paste with the old key ring
-                    (evil-paste-before keys-count)
+                    (evil-paste-before keys-count evil-this-register)
 
                     ;; update the kill ring with the overwritten text
                     (setq kill-ring new-kill-ring)

                        (end (emc-get-region-end region)))
                    (unless (emc-ends-with-newline-p text)
                      (evil-insert-newline-below))
                    (evil-paste-after keys-count)
                    (save-excursion (evil-delete start end 'line))))))

          ((eq cmd 'paste-before-current-line) (paste-before-current-line 1))

                  (setq region (emc-change-region-type region 'char)))))

          (t (message "not implemented")))
    (emc-put-cursor-property cursor
                             :evil-last-register evil-last-register
                             :evil-this-register evil-this-register
                             :region region)))

(defmacro emc-with-region (region fn &rest body)
  "When the REGION exists and has an overlay execute FN
