diff --git a/basis/ui/backend/x11/x11.factor b/basis/ui/backend/x11/x11.factor
index ee6eb813b0..6a7a8d147f 100644
--- a/basis/ui/backend/x11/x11.factor
+++ b/basis/ui/backend/x11/x11.factor
@@ -329,10 +329,10 @@ M: x11-ui-backend beep ( -- )
 
 <PRIVATE
 : escape-' ( string -- string' )
-    [ dup CHAR: ' = [ drop "'\''" ] [ 1string ] if ] { } map-as concat ;
+    [ dup CHAR: ' = [ drop "'\\''" ] [ 1string ] if ] { } map-as concat ;
 
 : xmessage ( string -- )
-    escape-' "/usr/X11R6/bin/xmessage '" "'" surround system ;
+    escape-' "/usr/X11R6/bin/xmessage '" "'" surround system drop ;
 PRIVATE>
 
 M: x11-ui-backend system-alert