diff --git a/data/gui/blocked_contacts_window.ui b/data/gui/blocked_contacts_window.ui
index 2f9f371273b065b0570e34af6f0b582c9c1af9e0..5f84a9b7c230ce34b82981b4689d71fe5d2b219c 100644
--- a/data/gui/blocked_contacts_window.ui
+++ b/data/gui/blocked_contacts_window.ui
@@ -38,47 +38,14 @@
         </child>
         <child>
           <object class="GtkButton" id="remove_button">
+            <property name="label" translatable="yes">_Unblock</property>
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="receives_default">False</property>
             <property name="border_width">3</property>
+            <property name="image">image1</property>
+            <property name="use_underline">True</property>
             <signal name="clicked" handler="on_remove_button_clicked"/>
-            <child>
-              <object class="GtkAlignment" id="alignment1">
-                <property name="visible">True</property>
-                <property name="xscale">0</property>
-                <property name="yscale">0</property>
-                <child>
-                  <object class="GtkHBox" id="hbox1">
-                    <property name="visible">True</property>
-                    <property name="spacing">2</property>
-                    <child>
-                      <object class="GtkImage" id="image1">
-                        <property name="visible">True</property>
-                        <property name="stock">gtk-remove</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label1">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">_Unblock</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -89,4 +56,8 @@
       </object>
     </child>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-remove</property>
+  </object>
 </interface>
diff --git a/data/gui/change_status_message_dialog.ui b/data/gui/change_status_message_dialog.ui
index c7c350cdfba2b205c92575c815fa4cafb3d6a71b..232abb74ff73e11ded5a3a7b93afa62aa66273dc 100644
--- a/data/gui/change_status_message_dialog.ui
+++ b/data/gui/change_status_message_dialog.ui
@@ -54,48 +54,15 @@
                         <property name="layout_style">end</property>
                         <child>
                           <object class="GtkButton" id="save_as_preset_button">
+                            <property name="label" translatable="yes">Save as Preset...</property>
                             <property name="visible">True</property>
                             <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
                             <property name="can_default">True</property>
                             <property name="receives_default">False</property>
+                            <property name="image">image1</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="on_save_as_preset_button_clicked"/>
-                            <child>
-                              <object class="GtkAlignment" id="alignment106">
-                                <property name="visible">True</property>
-                                <property name="xscale">0</property>
-                                <property name="yscale">0</property>
-                                <child>
-                                  <object class="GtkHBox" id="hbox3021">
-                                    <property name="visible">True</property>
-                                    <property name="spacing">2</property>
-                                    <child>
-                                      <object class="GtkImage" id="image1369">
-                                        <property name="visible">True</property>
-                                        <property name="stock">gtk-save-as</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="label380">
-                                        <property name="visible">True</property>
-                                        <property name="label" translatable="yes">Save as Preset...</property>
-                                        <property name="use_underline">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -313,4 +280,8 @@
       <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-save-as</property>
+  </object>
 </interface>
diff --git a/data/gui/esession_info_window.ui b/data/gui/esession_info_window.ui
index 9e6dee5b26a0b591733288a39b6053d0db2f2b74..3315d6f1b3e9388c801a8795a30a7d231f057441 100644
--- a/data/gui/esession_info_window.ui
+++ b/data/gui/esession_info_window.ui
@@ -7,7 +7,6 @@
     <property name="border_width">5</property>
     <property name="window_position">center-on-parent</property>
     <property name="type_hint">dialog</property>
-    <property name="has_separator">False</property>
     <child internal-child="vbox">
       <object class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
@@ -72,46 +71,13 @@
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="verify_now_button">
+                <property name="label" translatable="yes">_Verify</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="image">image1</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_verify_now_button_clicked"/>
-                <child>
-                  <object class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox3">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image2">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-apply</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="button_label">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Verify</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -148,4 +114,8 @@
       <action-widget response="-7">close_button3</action-widget>
     </action-widgets>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-apply</property>
+  </object>
 </interface>
diff --git a/data/gui/history_manager.ui b/data/gui/history_manager.ui
index 1f206ecb48fbdf263d39b1513650327ae0ff16c7..27ad1d61407537f9706f72e28d5e6c9ce96b31e4 100644
--- a/data/gui/history_manager.ui
+++ b/data/gui/history_manager.ui
@@ -212,48 +212,16 @@ If you plan to do massive deletions, please make sure Gajim is not running. Gene
             </child>
             <child>
               <object class="GtkButton" id="search_db_button">
+                <property name="label" translatable="yes">_Search Database</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
+                <property name="image">image1</property>
+                <property name="use_underline">True</property>
+                <property name="image_position">bottom</property>
                 <signal name="clicked" handler="on_search_db_button_clicked"/>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox1">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-find</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label1">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Search Database</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -345,4 +313,8 @@ If you plan to do massive deletions, please make sure Gajim is not running. Gene
       <action-widget response="-5">save_button</action-widget>
     </action-widgets>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-find</property>
+  </object>
 </interface>
diff --git a/data/gui/plugins_window.ui b/data/gui/plugins_window.ui
index 357815983829a2666b1d8c1a67bf2d0807106136..8fa58009ce30e4782c5809126633da85219a4185 100644
--- a/data/gui/plugins_window.ui
+++ b/data/gui/plugins_window.ui
@@ -59,34 +59,13 @@
                             <property name="xalign">0</property>
                             <child>
                               <object class="GtkButton" id="install_plugin_button">
+                                <property name="label" translatable="yes">Install from zip</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">True</property>
+                                <property name="image">image1</property>
+                                <property name="use_underline">True</property>
                                 <signal name="clicked" handler="on_install_plugin_button_clicked"/>
-                                <child>
-                                  <object class="GtkHBox" id="hbox8">
-                                    <property name="visible">True</property>
-                                    <child>
-                                      <object class="GtkImage" id="image2">
-                                        <property name="visible">True</property>
-                                        <property name="stock">gtk-apply</property>
-                                      </object>
-                                      <packing>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="configure_plugin_button_label2">
-                                        <property name="visible">True</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">Install from zip</property>
-                                      </object>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
                               </object>
                             </child>
                           </object>
@@ -273,34 +252,13 @@
                         <property name="layout_style">end</property>
                         <child>
                           <object class="GtkButton" id="uninstall_plugin_button">
+                            <property name="label" translatable="yes">Uninstall</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
+                            <property name="image">image2</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="on_uninstall_plugin_button_clicked"/>
-                            <child>
-                              <object class="GtkHBox" id="hbox6">
-                                <property name="visible">True</property>
-                                <child>
-                                  <object class="GtkImage" id="image5">
-                                    <property name="visible">True</property>
-                                    <property name="stock">gtk-cancel</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="uninstall_plugin_button_label1">
-                                    <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Uninstall</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -310,34 +268,13 @@
                         </child>
                         <child>
                           <object class="GtkButton" id="configure_plugin_button">
+                            <property name="label" translatable="yes">Configure</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
+                            <property name="image">image3</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="on_configure_plugin_button_clicked"/>
-                            <child>
-                              <object class="GtkHBox" id="hbox7">
-                                <property name="visible">True</property>
-                                <child>
-                                  <object class="GtkImage" id="image6">
-                                    <property name="visible">True</property>
-                                    <property name="stock">gtk-preferences</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="configure_plugin_button_label1">
-                                    <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Configure</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -411,4 +348,16 @@
   <object class="GtkTextBuffer" id="textbuffer1">
     <property name="text" translatable="yes">Plug-in decription should be displayed here. This text will be erased during PluginsWindow initialization.</property>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-apply</property>
+  </object>
+  <object class="GtkImage" id="image2">
+    <property name="visible">True</property>
+    <property name="stock">gtk-cancel</property>
+  </object>
+  <object class="GtkImage" id="image3">
+    <property name="visible">True</property>
+    <property name="stock">gtk-preferences</property>
+  </object>
 </interface>
diff --git a/data/gui/preferences_window.ui b/data/gui/preferences_window.ui
index 5d847223329b9abf49604ac8ec0dd1f0608198b2..74e726bf67d00ad96becf1be0c6b13a73cd7dc4c 100644
--- a/data/gui/preferences_window.ui
+++ b/data/gui/preferences_window.ui
@@ -1732,47 +1732,14 @@ $T will be replaced by auto-not-available timeout</property>
                                 </child>
                                 <child>
                                   <object class="GtkButton" id="reset_colors_button">
+                                    <property name="label" translatable="yes">_Reset to Default Colors</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
+                                    <property name="image">image1</property>
+                                    <property name="use_underline">True</property>
                                     <property name="focus_on_click">False</property>
                                     <signal name="clicked" handler="on_reset_colors_button_clicked"/>
-                                    <child>
-                                      <object class="GtkAlignment" id="alignment52">
-                                        <property name="visible">True</property>
-                                        <property name="xscale">0</property>
-                                        <property name="yscale">0</property>
-                                        <child>
-                                          <object class="GtkHBox" id="hbox2936">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">2</property>
-                                            <child>
-                                              <object class="GtkImage" id="image439">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-revert-to-saved</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <object class="GtkLabel" id="label217">
-                                                <property name="visible">True</property>
-                                                <property name="label" translatable="yes">_Reset to Default Colors</property>
-                                                <property name="use_underline">True</property>
-                                              </object>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                          </object>
-                                        </child>
-                                      </object>
-                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2834,46 +2801,13 @@ to discover one from server.</property>
                         <property name="right_padding">335</property>
                         <child>
                           <object class="GtkButton" id="open_advanced_editor_button">
+                            <property name="label" translatable="yes">_Open...</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">False</property>
+                            <property name="image">image2</property>
+                            <property name="use_underline">True</property>
                             <signal name="clicked" handler="on_open_advanced_editor_button_clicked"/>
-                            <child>
-                              <object class="GtkAlignment" id="alignment70">
-                                <property name="visible">True</property>
-                                <property name="xscale">0</property>
-                                <property name="yscale">0</property>
-                                <child>
-                                  <object class="GtkHBox" id="hbox2962">
-                                    <property name="visible">True</property>
-                                    <property name="spacing">2</property>
-                                    <child>
-                                      <object class="GtkImage" id="image597">
-                                        <property name="visible">True</property>
-                                        <property name="stock">gtk-open</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="label296">
-                                        <property name="visible">True</property>
-                                        <property name="label" translatable="yes">_Open...</property>
-                                        <property name="use_underline">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
                           </object>
                         </child>
                       </object>
@@ -2942,4 +2876,12 @@ to discover one from server.</property>
       </object>
     </child>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-revert-to-saved</property>
+  </object>
+  <object class="GtkImage" id="image2">
+    <property name="visible">True</property>
+    <property name="stock">gtk-open</property>
+  </object>
 </interface>
diff --git a/data/gui/service_discovery_window.ui b/data/gui/service_discovery_window.ui
index 46c83e4d048766eaec0a91190cd525446f6b833f..3770388cb6d43e222498b2e4e0137ea74e2c74e3 100644
--- a/data/gui/service_discovery_window.ui
+++ b/data/gui/service_discovery_window.ui
@@ -84,55 +84,22 @@ Agent JID - node</property>
             </child>
             <child>
               <object class="GtkButton" id="browse_button">
+                <property name="label" translatable="yes">G_o</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">False</property>
+                <property name="image">image1</property>
+                <property name="use_underline">True</property>
                 <signal name="clicked" handler="on_go_button_clicked"/>
-                <child>
-                  <object class="GtkAlignment" id="alignment93">
-                    <property name="visible">True</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox2995">
-                        <property name="visible">True</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image1148">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-jump-to</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label362">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">G_o</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
               </object>
               <packing>
                 <property name="left_attach">2</property>
                 <property name="right_attach">3</property>
                 <property name="bottom_attach">3</property>
                 <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="y_options"/>
               </packing>
             </child>
             <child>
@@ -145,7 +112,7 @@ Agent JID - node</property>
               <packing>
                 <property name="bottom_attach">3</property>
                 <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="y_options"/>
               </packing>
             </child>
             <child>
@@ -242,4 +209,8 @@ Agent JID - node</property>
       </object>
     </child>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="stock">gtk-jump-to</property>
+  </object>
 </interface>
diff --git a/src/disco.py b/src/disco.py
index d763504904b80294d3f74a54959f31490a5b94bf..2bb4fc7dcb2947bb8935a9aafcf41fb7c8554b2d 100644
--- a/src/disco.py
+++ b/src/disco.py
@@ -921,15 +921,12 @@ class AgentBrowser:
         perform
         """
         self.browse_button = gtk.Button()
-        image = gtk.image_new_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
-        label = gtk.Label(_('_Browse'))
-        label.set_use_underline(True)
-        hbox = gtk.HBox()
-        hbox.pack_start(image, False, True, 6)
-        hbox.pack_end(label, True, True)
-        self.browse_button.add(hbox)
         self.browse_button.connect('clicked', self.on_browse_button_clicked)
         self.window.action_buttonbox.add(self.browse_button)
+        image = gtk.image_new_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
+        self.browse_button.set_image(image)
+        label = _('_Browse')
+        self.browse_button.set_label(label)
         self.browse_button.show_all()
 
     def _clean_actions(self):
@@ -1382,15 +1379,12 @@ class ToplevelAgentBrowser(AgentBrowser):
     def _add_actions(self):
         AgentBrowser._add_actions(self)
         self.execute_button = gtk.Button()
-        image = gtk.image_new_from_stock(gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON)
-        label = gtk.Label(_('_Execute Command'))
-        label.set_use_underline(True)
-        hbox = gtk.HBox()
-        hbox.pack_start(image, False, True, 6)
-        hbox.pack_end(label, True, True)
-        self.execute_button.add(hbox)
         self.execute_button.connect('clicked', self.on_execute_button_clicked)
         self.window.action_buttonbox.add(self.execute_button)
+        image = gtk.image_new_from_stock(gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON)
+        self.execute_button.set_image(image)
+        label = _('_Execute Command')
+        self.execute_button.set_label(label)
         self.execute_button.show_all()
 
         self.register_button = gtk.Button(label=_("Re_gister"),
@@ -1400,27 +1394,21 @@ class ToplevelAgentBrowser(AgentBrowser):
         self.register_button.show_all()
 
         self.join_button = gtk.Button()
-        image = gtk.image_new_from_stock(gtk.STOCK_CONNECT, gtk.ICON_SIZE_BUTTON)
-        label = gtk.Label(_('_Join'))
-        label.set_use_underline(True)
-        hbox = gtk.HBox()
-        hbox.pack_start(image, False, True, 6)
-        hbox.pack_end(label, True, True)
-        self.join_button.add(hbox)
         self.join_button.connect('clicked', self.on_join_button_clicked)
         self.window.action_buttonbox.add(self.join_button)
+        image = gtk.image_new_from_stock(gtk.STOCK_CONNECT, gtk.ICON_SIZE_BUTTON)
+        self.join_button.set_image(image)
+        label = _('_Join')
+        self.join_button.set_label(label)
         self.join_button.show_all()
 
         self.search_button = gtk.Button()
-        image = gtk.image_new_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON)
-        label = gtk.Label(_('_Search'))
-        label.set_use_underline(True)
-        hbox = gtk.HBox()
-        hbox.pack_start(image, False, True, 6)
-        hbox.pack_end(label, True, True)
-        self.search_button.add(hbox)
         self.search_button.connect('clicked', self.on_search_button_clicked)
         self.window.action_buttonbox.add(self.search_button)
+        image = gtk.image_new_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON)
+        self.search_button.set_image(image)
+        label = _('_Search')
+        self.search_button.set_label(label)
         self.search_button.show_all()
 
     def _clean_actions(self):