Index: src/UIElements/Qt4/Query/AtomsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/AtomsQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/AtomsQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -45,5 +45,5 @@
 QtDialog::AtomsQtQuery::AtomsQtQuery(Parameter<std::vector<const atom *> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<const atom *> >(_param, _title),
-    QtQueryList<const atom *>(_parent, _dialog, temp)
+    QtQueryList<const atom *>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/DoublesQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/DoublesQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/DoublesQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -45,5 +45,5 @@
 QtDialog::DoublesQtQuery::DoublesQtQuery(Parameter<std::vector<double> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<double> >(_param, _title),
-    QtQueryList<double>(_parent, _dialog, temp)
+    QtQueryList<double>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/ElementsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/ElementsQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/ElementsQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -46,5 +46,5 @@
 QtDialog::ElementsQtQuery::ElementsQtQuery(Parameter<std::vector<const element *> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<const element *> >(_param, _title),
-    QtQueryList<const element *>(_parent, _dialog, temp)
+    QtQueryList<const element *>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/FilesQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/FilesQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/FilesQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -46,5 +46,5 @@
 QtDialog::FilesQtQuery::FilesQtQuery(Parameter<std::vector<boost::filesystem::path> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<boost::filesystem::path> >(_param, _title),
-    QtQueryList<boost::filesystem::path>(_parent, _dialog, temp)
+    QtQueryList<boost::filesystem::path>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/IntsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/IntsQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/IntsQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -45,5 +45,5 @@
 QtDialog::IntsQtQuery::IntsQtQuery(Parameter<std::vector<int> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<int> >(_param, _title),
-    QtQueryList<int>(_parent, _dialog, temp)
+    QtQueryList<int>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/MoleculesQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/MoleculesQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/MoleculesQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -45,5 +45,5 @@
 QtDialog::MoleculesQtQuery::MoleculesQtQuery(Parameter<std::vector<const molecule *> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<const molecule *> >(_param, _title),
-    QtQueryList<const molecule *>(_parent, _dialog, temp)
+    QtQueryList<const molecule *>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/QtQueryList.hpp
===================================================================
--- src/UIElements/Qt4/Query/QtQueryList.hpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/QtQueryList.hpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -17,4 +17,5 @@
 #include "UIElements/Dialog.hpp"
 #include "Parameters/Parameter.hpp"
+#include "Parameters/Validators/STLVectorValidator.hpp"
 
 class QListWidget;
@@ -50,7 +51,15 @@
 class QtQueryList : public QtQueryListUntyped {
 public:
-  QtQueryList(QBoxLayout *parent, Dialog *_dialog, std::vector<T> &_temp) : QtQueryListUntyped(parent, _dialog), tempRef(_temp)
+  QtQueryList(Parameter<std::vector<T> > &parentParam, QBoxLayout *parent, Dialog *_dialog, std::vector<T> &_temp) : QtQueryListUntyped(parent, _dialog), tempRef(_temp)
   {
-    subParam = new Parameter<T>("sub-param");
+    STLVectorValidator<std::vector<T> > *val = dynamic_cast<STLVectorValidator<std::vector<T> > *>(&parentParam.getValidator());
+
+    // do we have an STLVectorValidator?
+    if (val){
+      // if so, try to use its ElementwiseValidator
+      subParam = new Parameter<T>("sub-param", *(val->getElementwiseValidator()));
+    }else{
+      subParam = new Parameter<T>("sub-param");
+    }
   }
   virtual ~QtQueryList()
Index: src/UIElements/Qt4/Query/StringsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/StringsQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/StringsQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -45,5 +45,5 @@
 QtDialog::StringsQtQuery::StringsQtQuery(Parameter<std::vector<std::string> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<std::string> >(_param, _title),
-    QtQueryList<std::string>(_parent, _dialog, temp)
+    QtQueryList<std::string>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/UnsignedIntsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/UnsignedIntsQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/UnsignedIntsQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -45,5 +45,5 @@
 QtDialog::UnsignedIntsQtQuery::UnsignedIntsQtQuery(Parameter<std::vector<unsigned int> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<unsigned int> >(_param, _title),
-    QtQueryList<unsigned int>(_parent, _dialog, temp)
+    QtQueryList<unsigned int>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
Index: src/UIElements/Qt4/Query/VectorsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/VectorsQtQuery.cpp	(revision dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a)
+++ src/UIElements/Qt4/Query/VectorsQtQuery.cpp	(revision 713a4346de9abe1861f54c9fac819c08579edffb)
@@ -46,5 +46,5 @@
 QtDialog::VectorsQtQuery::VectorsQtQuery(Parameter<std::vector<Vector> > &_param, std::string _title,QBoxLayout *_parent,Dialog *_dialog) :
     QtQuery<std::vector<Vector> >(_param, _title),
-    QtQueryList<Vector>(_parent, _dialog, temp)
+    QtQueryList<Vector>(_param, _parent, _dialog, temp)
 {
   ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
