Index: src/Actions/Action_impl_pre.hpp
===================================================================
--- src/Actions/Action_impl_pre.hpp	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ src/Actions/Action_impl_pre.hpp	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -175,5 +175,5 @@
     << "\"" << params. \
         BOOST_PP_SEQ_ELEM(n, paramreferences) \
-        .getUnvalidated() \
+        .getAsStringUnvalidated() \
     << "\"";
 
Index: src/Actions/MakroAction_impl_pre.hpp
===================================================================
--- src/Actions/MakroAction_impl_pre.hpp	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ src/Actions/MakroAction_impl_pre.hpp	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -167,5 +167,5 @@
     << "\"" << params. \
         BOOST_PP_SEQ_ELEM(n, paramreferences) \
-        .getUnvalidated() \
+        .getAsStringUnvalidated() \
     << "\"";
 
Index: src/Parameters/Parameter.hpp
===================================================================
--- src/Parameters/Parameter.hpp	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ src/Parameters/Parameter.hpp	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -48,4 +48,5 @@
   bool isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
   const std::string getAsString() const throw(ParameterValueException);
+  const std::string getAsStringUnvalidated() const throw(ParameterValueException);
   void setAsString(const std::string &_value) throw(ParameterValueException);
 
Index: src/Parameters/Parameter_impl.hpp
===================================================================
--- src/Parameters/Parameter_impl.hpp	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ src/Parameters/Parameter_impl.hpp	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -165,4 +165,19 @@
   try {
     return value.getAsString();
+  } catch(ParameterException &e) {
+    e << ParameterName(ParameterInterface::getName());
+    throw;
+  }
+}
+
+/** Catch call to value.getAsStringUnvalidated() to add exception information.
+ *
+ * @return parameter value as string
+ */
+template<typename T>
+inline const std::string Parameter<T>::getAsStringUnvalidated() const throw(ParameterValueException)
+{
+  try {
+    return value.getAsStringUnvalidated();
   } catch(ParameterException &e) {
     e << ParameterName(ParameterInterface::getName());
Index: src/Parameters/Value.hpp
===================================================================
--- src/Parameters/Value.hpp	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ src/Parameters/Value.hpp	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -85,4 +85,5 @@
   bool isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
   const std::string getAsString() const throw(ParameterValueException);
+  const std::string getAsStringUnvalidated() const throw(ParameterValueException);
   void setAsString(const std::string &_value) throw(ParameterException);
 
Index: src/Parameters/Value_impl.hpp
===================================================================
--- src/Parameters/Value_impl.hpp	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ src/Parameters/Value_impl.hpp	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -185,4 +185,14 @@
 {
   return toString(get());
+}
+
+/** Getter of unvalidated value, returning string.
+ *
+ * @return string value
+ */
+template <class T>
+inline const std::string Value<T>::getAsStringUnvalidated() const throw(ParameterValueException)
+{
+  return toPythonString(getUnvalidated());
 }
 
Index: tests/regression/Options/DryRun/testsuite-options-dryrun-storesession.at
===================================================================
--- tests/regression/Options/DryRun/testsuite-options-dryrun-storesession.at	(revision db1048e63a60a41ce3cc4114c6efd39097f5cbe4)
+++ tests/regression/Options/DryRun/testsuite-options-dryrun-storesession.at	(revision 6d78b6f591a13bcaa13b7025d128a464abff63a7)
@@ -21,5 +21,4 @@
 AT_KEYWORDS([options dry-run no-dry-run store-session])
 AT_SKIP_IF([../../molecuilder --help store-session; if test $? -eq 5; then /bin/true; else /bin/false; fi])
-AT_XFAIL_IF([/bin/true])
 
 # sample session
