diff --git a/help/C/gnome-terminal.xml b/help/C/gnome-terminal.xml
index 20857d8..9b33dc0 100644
--- a/help/C/gnome-terminal.xml
+++ b/help/C/gnome-terminal.xml
@@ -883,6 +883,25 @@ text-based commands through a shell such as Bash.
                  </para>
               </listitem> 
            </varlistentry> 
+           <varlistentry> 
+             <term>
+                 <guilabel>Flash the window's entry in the window list when the terminal rings the bell</guilabel> </term> 
+             <listitem> 
+                 <para>
+                   Select this option to make the window icon in the taskbar flash if the terminal rings the bell.
+                 </para>
+              </listitem> 
+           </varlistentry> 
+           <varlistentry> 
+             <term>
+                 <guilabel>...even if I'm working in that window</guilabel> </term> 
+             <listitem> 
+                 <para>
+                     Select this option to make the above option apply even if the window is focused.
+                 </para>
+              </listitem> 
+           </varlistentry> 
+
           <varlistentry> 
              <term> 
                 <guilabel>Select-by-word characters</guilabel> </term> 
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 315f1cd..66b1884 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -242,6 +242,17 @@ profile_notify_sensitivity_cb (TerminalProfile *profile,
                       !terminal_profile_property_locked (profile, TERMINAL_PROFILE_HIGHLIGHT_FOCUSED_TAB_ON_BELL));
      }
 
+   if (!prop_name ||
+       prop_name == I_(TERMINAL_PROFILE_URGENT_WINDOW_ON_BELL) ||
+       prop_name == I_(TERMINAL_PROFILE_URGENT_FOCUSED_WINDOW_ON_BELL))
+     {
+       SET_SENSITIVE ("urgent-window-on-bell-checkbutton",
+                      !terminal_profile_property_locked (profile, TERMINAL_PROFILE_URGENT_WINDOW_ON_BELL));
+       SET_SENSITIVE ("urgent-focused-window-on-bell-checkbutton",
+                      terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_URGENT_WINDOW_ON_BELL) &&
+                      !terminal_profile_property_locked (profile, TERMINAL_PROFILE_URGENT_FOCUSED_WINDOW_ON_BELL));
+     }
+
   if (!prop_name || prop_name == I_(TERMINAL_PROFILE_WORD_CHARS))
     SET_SENSITIVE ("word-chars-entry",
                    !terminal_profile_property_locked (profile, TERMINAL_PROFILE_WORD_CHARS));
@@ -907,6 +918,8 @@ terminal_profile_edit (TerminalProfile *profile,
   CONNECT ("title-mode-combobox", TERMINAL_PROFILE_TITLE_MODE);
   CONNECT ("transparent-radiobutton", TERMINAL_PROFILE_BACKGROUND_TYPE);
   CONNECT ("update-records-checkbutton", TERMINAL_PROFILE_UPDATE_RECORDS);
+  CONNECT ("urgent-window-on-bell-checkbutton", TERMINAL_PROFILE_URGENT_WINDOW_ON_BELL);
+  CONNECT ("urgent-focused-window-on-bell-checkbutton", TERMINAL_PROFILE_URGENT_FOCUSED_WINDOW_ON_BELL);
   CONNECT ("use-custom-command-checkbutton", TERMINAL_PROFILE_USE_CUSTOM_COMMAND);
   CONNECT ("use-custom-default-size-checkbutton", TERMINAL_PROFILE_USE_CUSTOM_DEFAULT_SIZE);
   CONNECT ("use-theme-colors-checkbutton", TERMINAL_PROFILE_USE_THEME_COLORS);
diff --git a/src/profile-preferences.glade b/src/profile-preferences.glade
index aff7436..d4664c1 100644
--- a/src/profile-preferences.glade
+++ b/src/profile-preferences.glade
@@ -329,6 +329,44 @@
 	      </child>
 
 	      <child>
+		<widget class="GtkCheckButton" id="urgent-window-on-bell-checkbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">_Flash the window's entry in the window list when the terminal rings the bell</property>
+		  <property name="use_underline">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <property name="active">False</property>
+		  <property name="inconsistent">False</property>
+		  <property name="draw_indicator">True</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkCheckButton" id="urgent-focused-window-on-bell-checkbutton">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">..._even if I am working in that window</property>
+		  <property name="use_underline">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <property name="active">False</property>
+		  <property name="inconsistent">False</property>
+		  <property name="draw_indicator">True</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
 		<widget class="GtkHBox" id="hbox140">
 		  <property name="visible">True</property>
 		  <property name="homogeneous">False</property>
diff --git a/src/terminal-profile.c b/src/terminal-profile.c
index 802d696..5135444 100644
--- a/src/terminal-profile.c
+++ b/src/terminal-profile.c
@@ -88,6 +88,8 @@ enum
   PROP_WORD_CHARS,
   PROP_HIGHLIGHT_TAB_ON_BELL,
   PROP_HIGHLIGHT_FOCUSED_TAB_ON_BELL,
+  PROP_URGENT_WINDOW_ON_BELL,
+  PROP_URGENT_FOCUSED_WINDOW_ON_BELL,
   LAST_PROP
 };
 
@@ -123,6 +125,8 @@ enum
 #define KEY_TITLE_MODE "title_mode"
 #define KEY_TITLE "title"
 #define KEY_UPDATE_RECORDS "update_records"
+#define KEY_URGENT_WINDOW_ON_BELL "urgent_window_on_bell"
+#define KEY_URGENT_FOCUSED_WINDOW_ON_BELL "urgent_focused_window_on_bell"
 #define KEY_USE_CUSTOM_COMMAND "use_custom_command"
 #define KEY_USE_CUSTOM_DEFAULT_SIZE "use_custom_default_size"
 #define KEY_USE_SKEY "use_skey"
@@ -165,6 +169,8 @@ enum
 #define DEFAULT_TITLE_MODE            (TERMINAL_TITLE_REPLACE)
 #define DEFAULT_TITLE                 (N_("Terminal"))
 #define DEFAULT_UPDATE_RECORDS        (TRUE)
+#define DEFAULT_URGENT_WINDOW_ON_BELL (FALSE)
+#define DEFAULT_URGENT_FOCUSED_WINDOW_ON_BELL (FALSE)
 #define DEFAULT_USE_CUSTOM_COMMAND    (FALSE)
 #define DEFAULT_USE_CUSTOM_DEFAULT_SIZE (FALSE)
 #define DEFAULT_USE_SKEY              (TRUE)
@@ -1317,6 +1323,8 @@ terminal_profile_class_init (TerminalProfileClass *klass)
   TERMINAL_PROFILE_PROPERTY_BOOLEAN (USE_THEME_COLORS, DEFAULT_USE_THEME_COLORS, KEY_USE_THEME_COLORS);
   TERMINAL_PROFILE_PROPERTY_BOOLEAN (HIGHLIGHT_TAB_ON_BELL, DEFAULT_HIGHLIGHT_TAB_ON_BELL, KEY_HIGHLIGHT_TAB_ON_BELL);
   TERMINAL_PROFILE_PROPERTY_BOOLEAN (HIGHLIGHT_FOCUSED_TAB_ON_BELL, DEFAULT_HIGHLIGHT_FOCUSED_TAB_ON_BELL, KEY_HIGHLIGHT_FOCUSED_TAB_ON_BELL);
+  TERMINAL_PROFILE_PROPERTY_BOOLEAN (URGENT_WINDOW_ON_BELL, DEFAULT_URGENT_WINDOW_ON_BELL, KEY_URGENT_WINDOW_ON_BELL);
+  TERMINAL_PROFILE_PROPERTY_BOOLEAN (URGENT_FOCUSED_WINDOW_ON_BELL, DEFAULT_URGENT_FOCUSED_WINDOW_ON_BELL, KEY_URGENT_FOCUSED_WINDOW_ON_BELL);
 
   TERMINAL_PROFILE_PROPERTY_BOXED (BACKGROUND_COLOR, GDK_TYPE_COLOR, KEY_BACKGROUND_COLOR);
   TERMINAL_PROFILE_PROPERTY_BOXED (BOLD_COLOR, GDK_TYPE_COLOR, KEY_BOLD_COLOR);
diff --git a/src/terminal-profile.h b/src/terminal-profile.h
index 1eb94e3..aa54463 100644
--- a/src/terminal-profile.h
+++ b/src/terminal-profile.h
@@ -99,6 +99,8 @@ typedef enum
 #define TERMINAL_PROFILE_TITLE_MODE             "title-mode"
 #define TERMINAL_PROFILE_TITLE                  "title"
 #define TERMINAL_PROFILE_UPDATE_RECORDS         "update-records"
+#define TERMINAL_PROFILE_URGENT_WINDOW_ON_BELL  "urgent-window-on-bell"
+#define TERMINAL_PROFILE_URGENT_FOCUSED_WINDOW_ON_BELL  "urgent-focused-window-on-bell"
 #define TERMINAL_PROFILE_USE_CUSTOM_COMMAND     "use-custom-command"
 #define TERMINAL_PROFILE_USE_CUSTOM_DEFAULT_SIZE "use-custom-default-size"
 #define TERMINAL_PROFILE_USE_SKEY               "use-skey"
diff --git a/src/terminal-window.c b/src/terminal-window.c
index 335e046..f86075f 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -1397,6 +1397,49 @@ screen_match_clicked_cb (TerminalScreen *screen,
 }
 
 static void
+terminal_window_set_urgent (TerminalWindow *window,
+                            gboolean urgent)
+{
+  gtk_window_set_urgency_hint (GTK_WINDOW (window), urgent);
+}
+
+static void
+screen_bell_raised_cb (TerminalScreen *screen,
+                       GParamSpec *pspec,
+                       TerminalWindow *window)
+{
+
+  gboolean bell_raised;
+  bell_raised = terminal_screen_get_bell_raised (screen);
+
+  if (bell_raised)
+    {
+      gboolean set_urgent;
+
+      set_urgent = terminal_profile_get_property_boolean (terminal_screen_get_profile (screen),
+                                                          TERMINAL_PROFILE_URGENT_WINDOW_ON_BELL);
+
+      if (set_urgent)
+        {
+          gboolean set_urgent_on_focused;
+          gboolean has_toplevel_focus;
+
+          set_urgent_on_focused = terminal_profile_get_property_boolean (terminal_screen_get_profile (screen),
+                                                                         TERMINAL_PROFILE_URGENT_FOCUSED_WINDOW_ON_BELL);
+
+          g_object_get (window, "has-toplevel-focus", &has_toplevel_focus, NULL);
+
+          if (!has_toplevel_focus || set_urgent_on_focused)
+            terminal_window_set_urgent (window, TRUE);
+        }
+    }
+  else
+    {
+      terminal_window_set_urgent (window, FALSE);
+    }
+}
+
+static void
 screen_close_cb (TerminalScreen *screen,
                  TerminalWindow *window)
 {
@@ -2784,6 +2827,9 @@ notebook_page_added_callback (GtkWidget       *notebook,
   g_signal_connect (screen, "close-screen",
                     G_CALLBACK (screen_close_cb), window);
 
+  g_signal_connect (screen, "notify::bell-raised",
+                    G_CALLBACK (screen_bell_raised_cb), window);
+
   update_tab_visibility (window, 0);
   terminal_window_update_tabs_menu_sensitivity (window);
   terminal_window_update_search_sensitivity (screen, window);
@@ -2866,6 +2912,10 @@ notebook_page_removed_callback (GtkWidget       *notebook,
                                         G_CALLBACK (screen_close_cb),
                                         window);
 
+  g_signal_handlers_disconnect_by_func (screen,
+                                        G_CALLBACK (screen_bell_raised_cb),
+                                        window);
+
   terminal_window_update_tabs_menu_sensitivity (window);
   update_tab_visibility (window, 0);
   terminal_window_update_search_sensitivity (screen, window);
