diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.9.0.7
+---
+* Put scrolledWindow inside expander
+
 0.9.0.6
 ---
 * Fix regression where signal selectors weren't growing
diff --git a/Plot-ho-matic.cabal b/Plot-ho-matic.cabal
--- a/Plot-ho-matic.cabal
+++ b/Plot-ho-matic.cabal
@@ -1,5 +1,5 @@
 name:                Plot-ho-matic
-version:             0.9.0.6
+version:             0.9.0.7
 synopsis:            Real-time line plotter for generic data
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/PlotHo/GraphWidget.hs b/src/PlotHo/GraphWidget.hs
--- a/src/PlotHo/GraphWidget.hs
+++ b/src/PlotHo/GraphWidget.hs
@@ -191,29 +191,29 @@
     ]
 
   -- the signal selector
-  -- we put the expander inside the scroll because otherwise it doesn't grow, for some reason >_<
   treeview <- newSignalSelectorArea onButton sameSignalTree forestFromMeta graphInfoMVar msgStore redraw
-  treeviewExpander <- Gtk.expanderNew "sig"
-  Gtk.set treeviewExpander
-    [ Gtk.containerChild := treeview
-    , Gtk.expanderExpanded := True
-    ]
 
-  treeviewExpanderScroll <- Gtk.scrolledWindowNew Nothing Nothing
-  Gtk.containerAdd treeviewExpanderScroll treeviewExpander
-  Gtk.set treeviewExpanderScroll
+  treeviewScroll <- Gtk.scrolledWindowNew Nothing Nothing
+  Gtk.set treeviewScroll [Gtk.widgetVExpand := True] -- make sure it expands vertically
+  Gtk.containerAdd treeviewScroll treeview
+  Gtk.set treeviewScroll
     [ Gtk.scrolledWindowHscrollbarPolicy := Gtk.PolicyNever
     , Gtk.scrolledWindowVscrollbarPolicy := Gtk.PolicyAutomatic
     ]
 
+  treeviewExpander <- Gtk.expanderNew "sig"
+  Gtk.set treeviewExpander
+    [ Gtk.containerChild := treeviewScroll
+    , Gtk.expanderExpanded := True
+    ]
 
   -- options and signal selector packed in vbox
   vboxOptionsAndSignals <- Gtk.vBoxNew False 4
   Gtk.set vboxOptionsAndSignals
     [ Gtk.containerChild := optionsExpander
     , Gtk.boxChildPacking optionsExpander := Gtk.PackNatural
-    , Gtk.containerChild := treeviewExpanderScroll
-    , Gtk.boxChildPacking treeviewExpanderScroll := Gtk.PackGrow
+    , Gtk.containerChild := treeviewExpander
+    , Gtk.boxChildPacking treeviewExpander := Gtk.PackGrow
     ]
 
   -- hbox to hold eveything
diff --git a/src/SetHo.hs b/src/SetHo.hs
--- a/src/SetHo.hs
+++ b/src/SetHo.hs
@@ -86,19 +86,20 @@
   (treeview, getLatestStaged, receiveNewUpstream, takeLatestUpstream, loadFromFile) <-
     newLookupTreeview rootName initialValue (Gtk.toggleButtonGetActive buttonAutoCommit) commit
 
+  treeviewScroll <- Gtk.scrolledWindowNew Nothing Nothing
+  Gtk.set treeviewScroll [Gtk.widgetVExpand := True] -- make sure it expands vertically
+  Gtk.containerAdd treeviewScroll treeview
+  Gtk.set treeviewScroll
+    [ Gtk.scrolledWindowHscrollbarPolicy := Gtk.PolicyNever
+    , Gtk.scrolledWindowVscrollbarPolicy := Gtk.PolicyAutomatic
+    ]
+
   treeviewExpander <- Gtk.expanderNew "signals"
   Gtk.set treeviewExpander
-    [ Gtk.containerChild := treeview
+    [ Gtk.containerChild := treeviewScroll
     , Gtk.expanderExpanded := True
     ]
 
-  treeviewExpanderScroll <- Gtk.scrolledWindowNew Nothing Nothing
-  Gtk.containerAdd treeviewExpanderScroll treeviewExpander
-  Gtk.set treeviewExpanderScroll
-    [ Gtk.scrolledWindowHscrollbarPolicy := Gtk.PolicyNever
-    , Gtk.scrolledWindowVscrollbarPolicy := Gtk.PolicyAutomatic
-    ]
-
   let menuBarDescription =
         [ ("_File", [ ("Load", Just (loadFile win loadFromFile))
                     , ("Save", Just (saveFile win getLatestStaged))
@@ -127,8 +128,8 @@
     , Gtk.boxChildPacking buttonTakeUpstream := Gtk.PackNatural
     , Gtk.containerChild := options
     , Gtk.boxChildPacking options := Gtk.PackNatural
-    , Gtk.containerChild := treeviewExpanderScroll
-    , Gtk.boxChildPacking treeviewExpanderScroll := Gtk.PackGrow
+    , Gtk.containerChild := treeviewExpander
+    , Gtk.boxChildPacking treeviewExpander := Gtk.PackGrow
     ]
 
   _ <- on buttonCommit Gtk.buttonActivated $ do
