diff --git a/LCS/pyparameterset/src/__init__.py b/LCS/pyparameterset/src/__init__.py
index 35dbeb9d1008142e9aed0803455a25041dc93662..51bac88f1dbba69620a2e76a1c9e9c9e735b8d93 100755
--- a/LCS/pyparameterset/src/__init__.py
+++ b/LCS/pyparameterset/src/__init__.py
@@ -76,6 +76,10 @@ class parameterset(PyParameterSet):
         """Get the parametervalue object of a parameter."""
         return self._get (key)
 
+    def keys(self):
+        """Get a sorted list of all parameter names."""
+        return self.keywords()
+
     def get(self, key):
         """Get the parametervalue object of a parameter."""
         return self._get (key)
diff --git a/LCS/pyparameterset/src/pyparameterset.cc b/LCS/pyparameterset/src/pyparameterset.cc
index 130f59b2e7044e999155a80f165f67f3cfc231c6..998dc9d8476b49123f7d8bcdf8751d936419c08c 100644
--- a/LCS/pyparameterset/src/pyparameterset.cc
+++ b/LCS/pyparameterset/src/pyparameterset.cc
@@ -54,6 +54,18 @@ namespace LOFAR {
 
     PyParameterSet makeSubset (const string& baseKey, const string& prefix)
       { return ParameterSet::makeSubset (baseKey, prefix); }
+
+    // Return a sorted list of keywords.
+    vector<string> keywords() const
+    {
+      vector<string> result;
+      result.reserve (size());
+      for (ParameterSet::const_iterator iter=begin(); iter!=end(); ++iter) {
+        result.push_back (iter->first);
+      }
+      std::sort (result.begin(), result.end());
+      return result;
+    }
   };
 
   // Define function pointers for overloaded functions to be able to tell
@@ -161,6 +173,7 @@ namespace LOFAR {
             "Get the number of parameters.")
       .def ("__len__", &ParameterSet::size,
             "Get the number of parameters.")
+      .def ("keywords", &PyParameterSet::keywords)
       .def ("makeSubset", &PyParameterSet::makeSubset,
  	    (boost::python::arg("baseKey"),
              boost::python::arg("prefix")=""),
diff --git a/LCS/pyparameterset/test/tpyparameterset.py b/LCS/pyparameterset/test/tpyparameterset.py
index 3bc8777118042041c8051aea4338f80d8e5e3d73..0ed5eace3a2d864bb6235ce5cf44ed8e3b02a0a5 100644
--- a/LCS/pyparameterset/test/tpyparameterset.py
+++ b/LCS/pyparameterset/test/tpyparameterset.py
@@ -77,4 +77,5 @@ ps.add ("vecbool", "[true,false,true]")
 ps.add ("vec", "[1,2,3]")
 ps.add ("vecexp", "[1..3,5..10]")
 ps.add ("vecnest", "[[1..3,5*10],[5..10]]")
+print ps.keys()
 checkps (ps)
diff --git a/LCS/pyparameterset/test/tpyparameterset.stdout b/LCS/pyparameterset/test/tpyparameterset.stdout
index 9ae10260061fd63828a2b6a7809097c5b1d40fb3..9cab053c842c5daf88929437c6f00f5e28ff29d0 100644
--- a/LCS/pyparameterset/test/tpyparameterset.stdout
+++ b/LCS/pyparameterset/test/tpyparameterset.stdout
@@ -38,6 +38,7 @@ True
 [1, 2, 3, 10, 10, 10, 10, 10]
 [5, 6, 7, 8, 9, 10]
 
+['a.b', 'a.b.bool', 'a.b.c', 'a.b.double', 'a.b.lange_naam', 'e.g', 'egg', 'vec', 'vecbool', 'vecexp', 'vecnest']
 False
 True
 7