Index: /trunk/camelot/view/controls/tableview.py
===================================================================
--- /trunk/camelot/view/controls/tableview.py (revision 1187)
+++ /trunk/camelot/view/controls/tableview.py (revision 1188)
@@ -129,4 +129,5 @@
             self.number_of_rows = None
         layout.addLayout( widget_layout )
+        self._expanded_filters_created = False
         self._expanded_search = QtGui.QWidget()
         self._expanded_search.hide()
@@ -135,5 +136,5 @@
         self.setSizePolicy( QSizePolicy.Minimum, QSizePolicy.Fixed )
         self.setNumberOfRows( 0 )
-        post( admin.get_columns, self._fill_expanded_search_options )
+        
     
     def _fill_expanded_search_options(self, columns):
@@ -147,4 +148,5 @@
         layout.addStretch()
         self._expanded_search.setLayout( layout )
+        self._expanded_filters_created = True
         
     def _filter_changed(self):
@@ -160,4 +162,6 @@
     def expand_search_options(self):
         if self._expanded_search.isHidden():
+            if not self._expanded_filters_created:
+                post( self._admin.get_columns, self._fill_expanded_search_options )
             self._expanded_search.show()
         else:
@@ -259,5 +263,6 @@
         shortcut = QtGui.QShortcut(QtGui.QKeySequence(QtGui.QKeySequence.Find), self)
         self.connect( shortcut, QtCore.SIGNAL( 'activated()' ), self.activate_search )
-        self.connect( self.header, QtCore.SIGNAL('filters_changed'),  self.rebuildQuery )
+        if self.header_widget:
+            self.connect( self.header, QtCore.SIGNAL('filters_changed'),  self.rebuildQuery )
         # give the table widget focus to prevent the header and its search control to
         # receive default focus, as this would prevent the displaying of 'Search...' in the
