diff --git a/basis/ui/backend/gtk/gtk.factor b/basis/ui/backend/gtk/gtk.factor
index b4c4225a9c..64e53a6a61 100644
--- a/basis/ui/backend/gtk/gtk.factor
+++ b/basis/ui/backend/gtk/gtk.factor
@@ -42,9 +42,13 @@ M: gtk-clipboard clipboard-contents
         [ &g_free utf8 alien>string ] [ f ] if*
     ] with-destructors ;
 
+: save-global-clipboard ( -- )
+    clipboard get-global handle>> gtk_clipboard_store ;
+
 M: gtk-clipboard set-clipboard-contents
     swap [ handle>> ] [ utf8 string>alien ] bi*
-    -1 gtk_clipboard_set_text ;
+    -1 gtk_clipboard_set_text
+    save-global-clipboard ;
 
 : init-clipboard ( -- )
     selection "PRIMARY"
diff --git a/basis/ui/gadgets/editors/editors.factor b/basis/ui/gadgets/editors/editors.factor
index ad4cf6b77b..ab385d48d0 100644
--- a/basis/ui/gadgets/editors/editors.factor
+++ b/basis/ui/gadgets/editors/editors.factor
@@ -499,6 +499,7 @@ editor "selection" f {
     } show-commands-menu ;
 
 editor "misc" f {
+    ! { T{ button-down f f 2 } paste-selection }
     { T{ button-down f f 3 } editor-menu }
 } define-command-map