diff --git a/evil-states.el b/evil-states.el
--- a/evil-states.el
+++ b/evil-states.el
@@ -312,13 +312,14 @@
     (when (buffer-live-p buf)
       (with-current-buffer buf
         (when (and (evil-visual-state-p)
-                   (fboundp 'x-select-text)
+                   (fboundp 'x-set-selection)
                    (or (not (boundp 'ns-initialized))
                        (with-no-warnings ns-initialized))
                    (not (eq evil-visual-selection 'block)))
-          (x-select-text (buffer-substring-no-properties
-                          evil-visual-beginning
-                          evil-visual-end)))))))
+          (x-set-selection 'PRIMARY
+                           (buffer-substring-no-properties
+                            evil-visual-beginning
+                            evil-visual-end)))))))
 
 (defun evil-visual-activate-hook (&optional command)
   "Enable Visual state if the region is activated."
