diff --git a/src/hints.c b/src/hints.c
index 28e8bd0ea2df043a0a5c1fd06bc36e681cf0ebc3..7a36c3a95a65bcb4e1ffe29fc086b855aa57fd21 100644
--- a/src/hints.c
+++ b/src/hints.c
@@ -810,6 +810,7 @@ getUTF8StringList (DisplayInfo *display_info, Window w, int atom_id, gchar ***st
         if (g_utf8_validate (ptr, -1, NULL))
         {
             retval[i] = internal_utf8_strndup (ptr, MAX_STR_LENGTH);
+            xfce_utf8_remove_controls((gchar *) retval[i], -1, NULL);
         }
         else
         {
@@ -873,6 +874,7 @@ getWindowName (DisplayInfo *display_info, Window w, gchar **title)
     {
         name = internal_utf8_strndup (str, MAX_STR_LENGTH);
         *title = create_name_with_host (display_info, name, machine);
+        xfce_utf8_remove_controls(*title, -1, NULL);
         g_free (name);
         XFree (str);
         status = TRUE;