Index: src/UIElements/Views/Qt4/Plotting/QSeisPlotPage.cpp
===================================================================
--- src/UIElements/Views/Qt4/Plotting/QSeisPlotPage.cpp	(revision 7f1b51d9ebdfbd81ece2b0afc41b3153a06c5e91)
+++ src/UIElements/Views/Qt4/Plotting/QSeisPlotPage.cpp	(revision 3b179825d4e6f17bd22fbd7f880f59cc7fd8924e)
@@ -25,21 +25,41 @@
 
 QSeisPlotPage::QSeisPlotPage(QString type, QWidget *parent) :
-        QWidget(parent), plotType(type)
+        QWidget(parent), 
+        plotType(type), 
+        curveList(NULL),
+        plot (NULL), 
+        layoutInitialized(false)
 {
     //create GUI elements
-    QHBoxLayout *layout = new QHBoxLayout(this);
-    curveList = new QListWidget(this);
-    curveList->setMaximumWidth(250);
-    plot = new QSeisPlot(this,type);
-    layout->addWidget(curveList);
-    layout->addWidget(plot);
+    layout = new QHBoxLayout(this);
     setLayout(layout);
 
-    connect(curveList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(listItemChanged(QListWidgetItem*)));
 }
 
 QSeisPlotPage::~QSeisPlotPage()
 {
+    deinitializeLayout();
+}
 
+void QSeisPlotPage::initializeLayout()
+{
+    curveList = new QListWidget(this);
+    curveList->setMaximumWidth(250);
+    connect(curveList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(listItemChanged(QListWidgetItem*)));
+    plot = new QSeisPlot(this,plotType);
+    plot->setMinimumHeight(10);
+    layout->addWidget(curveList);
+    layout->addWidget(plot);
+    layoutInitialized = true;
+}
+
+void QSeisPlotPage::deinitializeLayout()
+{
+    disconnect(curveList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(listItemChanged(QListWidgetItem*)));
+    layout->removeWidget(curveList);
+    layout->removeWidget(plot);
+    delete curveList;
+    delete plot;
+    layoutInitialized = false;
 }
 
@@ -56,4 +76,7 @@
 void QSeisPlotPage::addCurve(std::string name)
 {
+    if (!layoutInitialized)
+      initializeLayout();
+
     QSeisPlotCurve *curve = QSeisCurveRegistry::getInstance().getByName(name);
     QListWidgetCurveItem *item = new QListWidgetCurveItem();
@@ -90,4 +113,7 @@
         }
     }
+
+    if (curveList->count() == 0)
+      deinitializeLayout();
 }
 
Index: src/UIElements/Views/Qt4/Plotting/QSeisPlotPage.hpp
===================================================================
--- src/UIElements/Views/Qt4/Plotting/QSeisPlotPage.hpp	(revision 7f1b51d9ebdfbd81ece2b0afc41b3153a06c5e91)
+++ src/UIElements/Views/Qt4/Plotting/QSeisPlotPage.hpp	(revision 3b179825d4e6f17bd22fbd7f880f59cc7fd8924e)
@@ -16,4 +16,5 @@
 #include <QtGui/QWidget>
 
+class QHBoxLayout;
 class QSeisPlot;
 class QListWidgetItem;
@@ -33,4 +34,5 @@
     ~QSeisPlotPage();
     QString plotType;
+    QHBoxLayout *layout;
     QListWidget *curveList;
     QSeisPlot *plot;
@@ -48,4 +50,8 @@
     void updateCurve(std::string name);
 
+private:
+    void initializeLayout();
+    void deinitializeLayout();
+    bool layoutInitialized;
 };
 
Index: src/UIElements/Views/Qt4/QtHomologyList.cpp
===================================================================
--- src/UIElements/Views/Qt4/QtHomologyList.cpp	(revision 7f1b51d9ebdfbd81ece2b0afc41b3153a06c5e91)
+++ src/UIElements/Views/Qt4/QtHomologyList.cpp	(revision 3b179825d4e6f17bd22fbd7f880f59cc7fd8924e)
@@ -41,4 +41,5 @@
 #include <QtGui/QTreeWidget>
 #include <QtGui/QTabWidget>
+#include <Qt/qsettings.h>
 #include <Qt/qsplitter.h>
 #include <Qt/qboxlayout.h>
@@ -74,5 +75,5 @@
     potentialregistry_enabled(false)
 {
-  QVBoxLayout* layout = new QVBoxLayout(this);
+  QHBoxLayout* layout = new QHBoxLayout(this);
   QSplitter *splitter = new QSplitter (Qt::Horizontal, this );
   layout->addWidget(splitter);
@@ -82,4 +83,5 @@
   treewidget->setSelectionMode( QTreeWidget::SingleSelection );
   treewidget->setColumnCount(COLUMNCOUNT);
+  //treewidget->setSizePolicy( QSizePolicy::Minimum, sizePolicy().verticalPolicy() );
   QStringList header;
   for(int i=0; i<COLUMNCOUNT;++i)
@@ -91,4 +93,5 @@
 #ifdef HAVE_QWT
   widget = new QSeisPlotPage ("energy", splitter);
+  //widget->setSizePolicy( QSizePolicy::MinimumExpanding, sizePolicy().verticalPolicy() );
   QSeisPageRegistry::getInstance().registerInstance(widget);
 #else
@@ -97,6 +100,12 @@
   splitter->addWidget(widget);
 
-	dirty = true;
+  dirty = true;
   clearing = false;
+  
+  QSettings settings;
+  settings.beginGroup("QtHomologyList");
+  treewidget->resize(settings.value("treewidget_size", QSize(width()/2, 20)).toSize());
+  widget->resize(settings.value("plotwidget_size", QSize(width()/2, 20)).toSize());
+  settings.endGroup();
 
   refill();
@@ -120,4 +129,11 @@
 QtHomologyList::~QtHomologyList()
 {
+  QSettings settings;
+  settings.beginGroup("QtHomologyList");
+  settings.setValue("treewidget_size", treewidget->size());
+  settings.setValue("plotwidget_size", widget->size());
+  settings.endGroup();
+
+
   HomologyContainer &homologies = World::getInstance().getHomologies();
   homologies.signOff(this);
