diff --git a/modules/gui/src/python_shell/python_completer.cc b/modules/gui/src/python_shell/python_completer.cc
index 2fe2ba8ca20af35f68fb0ab55ab48d4fdc9993ba..9ec41df66d7a4e57fdf61a5a30809a5b3a596504 100644
--- a/modules/gui/src/python_shell/python_completer.cc
+++ b/modules/gui/src/python_shell/python_completer.cc
@@ -65,7 +65,6 @@ QString PythonCompleter::pathFromIndex(const QModelIndex & index) const
 void PythonCompleter::SetCompletionPrefix(const QString& prefix)
 {
   dynamic_cast<PythonNamespaceTreeModel*>(this->model())->Reset();  
-  this->setCompletionPrefix("");
   this->setCompletionPrefix(prefix);
 }
 
diff --git a/modules/gui/src/python_shell/python_namespace_tree_item.cc b/modules/gui/src/python_shell/python_namespace_tree_item.cc
index 5a5cd4bba92e5093e77f33675fb7c84a65812684..465c99f6fa3fdd77dda068809dd72518285e1df4 100644
--- a/modules/gui/src/python_shell/python_namespace_tree_item.cc
+++ b/modules/gui/src/python_shell/python_namespace_tree_item.cc
@@ -47,8 +47,11 @@ void PythonNamespaceTreeItem::DeleteChildren()
   children_.clear();
   initialized_=false;
 }
-unsigned int PythonNamespaceTreeItem::ChildCount() const
+unsigned int PythonNamespaceTreeItem::ChildCount()
 {
+  if(CanFetchMore()){
+    FetchMore();
+  }
   return children_.size();
 }
 
@@ -56,8 +59,11 @@ PythonNamespaceTreeItem* PythonNamespaceTreeItem::GetParent() const
 {
   return parent_;
 }
-PythonNamespaceTreeItem* PythonNamespaceTreeItem::GetChild(unsigned int index) const
+PythonNamespaceTreeItem* PythonNamespaceTreeItem::GetChild(unsigned int index) 
 {
+  if(CanFetchMore()){
+    FetchMore();
+  }
   return children_.value(index);
 }
 unsigned int PythonNamespaceTreeItem::GetRow() const
diff --git a/modules/gui/src/python_shell/python_namespace_tree_item.hh b/modules/gui/src/python_shell/python_namespace_tree_item.hh
index c428b075c3e2a3854ea69f47c952d5703694ca64..c1cee49ef15f8e24597ae807543dd5579f63e4b1 100644
--- a/modules/gui/src/python_shell/python_namespace_tree_item.hh
+++ b/modules/gui/src/python_shell/python_namespace_tree_item.hh
@@ -35,8 +35,8 @@ public:
   PythonNamespaceTreeItem(const bp::object& ns, const QString& name, PythonNamespaceTreeItem* parent=0);
   virtual ~PythonNamespaceTreeItem();
   PythonNamespaceTreeItem* GetParent() const;
-  PythonNamespaceTreeItem* GetChild(unsigned int index) const;
-  unsigned int ChildCount() const;
+  PythonNamespaceTreeItem* GetChild(unsigned int index);
+  unsigned int ChildCount();
   void DeleteChildren();
   unsigned int GetRow() const;
   QString GetName()  const;
diff --git a/modules/gui/src/python_shell/python_namespace_tree_model.cc b/modules/gui/src/python_shell/python_namespace_tree_model.cc
index 044e32960023503ef5ead64faf85fd30cb1e08ad..6b05294f8148151f76f26f3f02e4758bcfd8fe6f 100644
--- a/modules/gui/src/python_shell/python_namespace_tree_model.cc
+++ b/modules/gui/src/python_shell/python_namespace_tree_model.cc
@@ -19,7 +19,7 @@
 #include "python_interpreter.hh"
 #include "python_namespace_tree_model.hh"
 #include "python_namespace_tree_item.hh"
-#include <QDebug>
+
 namespace ost{namespace gui{
 
 PythonNamespaceTreeModel::PythonNamespaceTreeModel():