diff --git a/modules/gui/src/query_dialog.cc b/modules/gui/src/query_dialog.cc
index 4ae379f987afa9b488919412c804da9200549ecc..fcaac5755d038a31d5e2d73f89df738b2c1dbab1 100644
--- a/modules/gui/src/query_dialog.cc
+++ b/modules/gui/src/query_dialog.cc
@@ -18,11 +18,14 @@
 //------------------------------------------------------------------------------
 #include "query_dialog.hh"
 
-#include <ost/mol/query.hh>
-
 #include <QPushButton>
 #include <QVBoxLayout>
 #include <QHBoxLayout>
+#include <QKeyEvent>
+
+#include <iostream>
+
+#include <ost/mol/query.hh>
 
 namespace ost { namespace gui {
 
@@ -92,4 +95,11 @@ QString QueryDialog::GetQueryString() const
 {
   return edit_->toPlainText();
 }
+
+void QueryDialog::keyPressEvent(QKeyEvent* event){
+  if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) {
+    this->accept();
+  }
+}
+
 }}
diff --git a/modules/gui/src/query_dialog.hh b/modules/gui/src/query_dialog.hh
index 4ee02a471873346222b339f454552b165b84052b..dc2deb91337e4760770b5e4f17928f37227d2f56 100644
--- a/modules/gui/src/query_dialog.hh
+++ b/modules/gui/src/query_dialog.hh
@@ -37,8 +37,13 @@ class DLLEXPORT_OST_GUI QueryDialog : public QDialog {
 public:
   QueryDialog(QWidget* parent=NULL);
   QString GetQueryString() const;
+
 public slots:
   void OnTextChanged();
+
+protected:
+  virtual void keyPressEvent(QKeyEvent* event);
+
 private:
   
   void Colorize();