diff --git a/src/profile-editor.c b/src/profile-editor.c
index 5040c33..33bbb81 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -755,6 +755,29 @@ bool_to_scrollbar_policy (const GValue *value,
   return g_variant_new_string (g_value_get_boolean (value) ? "always" : "never");
 }
 
+static gboolean
+maybestring_to_string (GValue *value,
+                       GVariant *variant,
+                       gpointer user_data)
+{
+  const char *str;
+
+  g_variant_get (variant, "ms", &str);
+  /* FIXME: query vte's default rather than duplicating here!!! */
+  g_value_set_string (value, str ? str : "-#%&+,./:;=?@\\_~\302\267");
+
+  return TRUE;
+}
+
+static GVariant *
+string_to_maybestring (const GValue *value,
+                       const GVariantType *expected_type,
+                       gpointer user_data)
+{
+  return g_variant_new_maybe(G_VARIANT_TYPE_STRING,
+                             g_variant_new_string (g_value_get_string (value)));
+}
+
 /**
  * terminal_profile_edit:
  * @profile: a #GSettings
@@ -1060,6 +1083,15 @@ terminal_profile_edit (GSettings  *profile,
                    gtk_builder_get_object (builder,
                                            "use-theme-colors-checkbutton"),
                    "active", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+  g_settings_bind_with_mapping (profile,
+                                TERMINAL_PROFILE_WORD_CHAR_EXCEPTIONS_KEY,
+                                gtk_builder_get_object (builder,
+                                                        "word-char-exceptions-entry"),
+                                "text",
+                                G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET,
+                                (GSettingsBindGetMapping) maybestring_to_string,
+                                (GSettingsBindSetMapping) string_to_maybestring,
+                                NULL, NULL);
   g_settings_bind (profile, TERMINAL_PROFILE_AUDIBLE_BELL_KEY,
                    gtk_builder_get_object (builder, "bell-checkbutton"),
                    "active",
diff --git a/src/profile-preferences.ui b/src/profile-preferences.ui
index 17dde03..46cc126 100644
--- a/src/profile-preferences.ui
+++ b/src/profile-preferences.ui
@@ -424,6 +424,35 @@
                       </packing>
                     </child>
                     <child>
+                      <object class="GtkLabel" id="word-char-exceptions-entry-label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Word characters:</property>
+                        <property name="use_underline">True</property>
+                        <property name="justify">center</property>
+                        <property name="mnemonic_widget">word-char-exceptions-entry</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="right_attach">1</property>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="word-char-exceptions-entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">4</property>
+                        <property name="top_attach">4</property>
+                        <property name="bottom_attach">5</property>
+                      </packing>
+                    </child>
+                    <child>
                       <object class="GtkCheckButton" id="bell-checkbutton">
                         <property name="label" translatable="yes">Terminal _bell</property>
                         <property name="visible">True</property>
@@ -434,8 +463,8 @@
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="right_attach">4</property>
-                        <property name="top_attach">4</property>
-                        <property name="bottom_attach">5</property>
+                        <property name="top_attach">5</property>
+                        <property name="bottom_attach">6</property>
                       </packing>
                     </child>
                     <child>
@@ -452,8 +481,8 @@
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="right_attach">1</property>
-                        <property name="top_attach">5</property>
-                        <property name="bottom_attach">6</property>
+                        <property name="top_attach">6</property>
+                        <property name="bottom_attach">7</property>
                       </packing>
                     </child>
                     <child>
@@ -468,8 +497,8 @@
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="right_attach">1</property>
-                        <property name="top_attach">6</property>
-                        <property name="bottom_attach">7</property>
+                        <property name="top_attach">7</property>
+                        <property name="bottom_attach">8</property>
                       </packing>
                     </child>
                     <child>
@@ -484,8 +513,8 @@
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="right_attach">1</property>
-                        <property name="top_attach">7</property>
-                        <property name="bottom_attach">8</property>
+                        <property name="top_attach">8</property>
+                        <property name="bottom_attach">9</property>
                       </packing>
                     </child>
                     <child>
@@ -500,8 +529,8 @@
                       <packing>
                         <property name="left_attach">0</property>
                         <property name="right_attach">1</property>
-                        <property name="top_attach">8</property>
-                        <property name="bottom_attach">9</property>
+                        <property name="top_attach">9</property>
+                        <property name="bottom_attach">10</property>
                       </packing>
                     </child>
                     <child>
@@ -517,8 +546,8 @@
                       <packing>
                         <property name="left_attach">1</property>
                         <property name="right_attach">4</property>
-                        <property name="top_attach">8</property>
-                        <property name="bottom_attach">9</property>
+                        <property name="top_attach">9</property>
+                        <property name="bottom_attach">10</property>
                       </packing>
                     </child>
                   </object>
