diff -rN -u old-XMonadContrib/XMonad/Hooks/EwmhDesktops.hs new-XMonadContrib/XMonad/Hooks/EwmhDesktops.hs
--- old-XMonadContrib/XMonad/Hooks/EwmhDesktops.hs	2009-01-17 18:24:47.000000000 +0300
+++ new-XMonadContrib/XMonad/Hooks/EwmhDesktops.hs	2009-01-17 18:24:47.000000000 +0300
@@ -21,6 +21,7 @@
     ewmhDesktopsLayout
     ) where
 
+import Codec.Binary.UTF8.String (encode)
 import Data.List
 import Data.Maybe
 
@@ -181,8 +182,7 @@
     r <- asks theRoot
     a <- getAtom "_NET_DESKTOP_NAMES"
     c <- getAtom "UTF8_STRING"
-    let names' = map (fromIntegral.fromEnum) $
-            concatMap (++['\0']) names
+    let names' = map fromIntegral $ concatMap ((++[0]) . encode) names
     io $ changeProperty8 dpy r a c propModeReplace names'
 
 setClientList :: [Window] -> X ()

