diff --git a/scripting/maestro-py.i b/scripting/maestro-py.i
index a2187af4d679d4a285d633a8578c7b32235de606..8e5c2c9e2ac029114c7ababcc03c01e645ed0315 100644
--- a/scripting/maestro-py.i
+++ b/scripting/maestro-py.i
@@ -2,6 +2,16 @@
 %include "typemaps.i"
 %include "stdint.i"
 %include "cpointer.i"
+%include "exception.i"
+
+/* handling mstro_status return codes: suppress unless an error needs to be indicated. In that case: throw exeption */
+%typemap(out) mstro_status  {
+ if(MSTRO_OK!=$1) {
+   SWIG_exception(SWIG_RuntimeError, mstro_status_description($1));
+ } else {
+   $result = SWIG_Py_Void();
+ }
+}
 
 %{
 #define SWIG_FILE_WITH_INIT