Index: src/register/register-gnome/gnucash-sheet.c
===================================================================
--- src/register/register-gnome/gnucash-sheet.c	(revision 16457)
+++ src/register/register-gnome/gnucash-sheet.c	(working copy)
@@ -555,6 +555,34 @@
 }
 
 
+static void
+gnucash_sheet_hadjustment_changed (GtkAdjustment *adj,
+                                   GnucashSheet *sheet)
+{
+        GnucashRegister *reg;
+
+        g_return_if_fail (sheet != NULL);
+        g_return_if_fail (GNUCASH_IS_SHEET(sheet));
+        reg = GNUCASH_REGISTER(sheet->reg);
+        g_return_if_fail (reg != NULL);
+
+        if (adj->upper - adj->lower > adj->page_size)
+        {
+                if (!reg->hscrollbar_visible)
+                {
+                        gtk_widget_show(reg->hscrollbar);
+                        reg->hscrollbar_visible = TRUE;
+                }
+        } else {
+                if (reg->hscrollbar_visible)
+                {
+                        gtk_widget_hide(reg->hscrollbar);
+                        reg->hscrollbar_visible = FALSE;
+                }
+        }
+}
+
+
 void
 gnucash_sheet_redraw_all (GnucashSheet *sheet)
 {
@@ -657,6 +685,8 @@
 
         g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
                 G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);
+        g_signal_connect (G_OBJECT (sheet->hadj), "changed",
+                G_CALLBACK (gnucash_sheet_hadjustment_changed), sheet);
 
         return sheet;
 }
@@ -2601,6 +2631,7 @@
                           0, 0);
         reg->hscrollbar = scrollbar;
         gtk_widget_show(scrollbar);
+        reg->hscrollbar_visible = TRUE;
 
 	/* The gtkrc color helper widgets need to be part of a window
 	 * hierarchy so they can be realized. Stick them in a box
Index: src/register/register-gnome/gnucash-sheet.h
===================================================================
--- src/register/register-gnome/gnucash-sheet.h	(revision 16457)
+++ src/register/register-gnome/gnucash-sheet.h	(working copy)
@@ -137,6 +137,7 @@
         GtkWidget *hscrollbar;
         GtkWidget *sheet;
         GtkWidget *header_canvas;
+        gboolean  hscrollbar_visible;
 } GnucashRegister;
 
 
