diff --git a/README.md b/README.md
index d50a9106ee08c77c5a59e97632d42e5567ee2fdf..b822b9532f7bef3b17de71f5bc5294ee82829357 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 [![Build](https://git-ce.rwth-aachen.de/wzl-mq-ms/forschung-lehre/lava/unified-device-interface/python/badges/master/pipeline.svg)](https://git-ce.rwth-aachen.de/wzl-mq-ms/forschung-lehre/lava/unified-device-interface/python/commits/master)
 
 # Python Unified Device Interface
-Current stable version: 9.3.4
+Current stable version: 9.3.5
 
 ## Installation
 1. Install the WZL-UDI package via pip
@@ -58,6 +58,9 @@ Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation)
 
 ## Recent changes
 
+**9.3.5** - 2024-03-18
+  - fixed metadata provisioning of arguments and returns
+
 **9.3.4** - 2024-03-16
   - fixed semantic name resolution of range profiles
 
diff --git a/setup.py b/setup.py
index ae1fef755acc241c1d548fe98072a8cec9ec4b11..5023de3e0115e6cb18e118a81982881a5c2ec965 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
     long_description = fh.read()
 
 setup(name='wzl-udi',
-      version='9.3.4',
+      version='9.3.5',
       url='https://git-ce.rwth-aachen.de/wzl-mq-public/soil/python',
       project_urls={
           "Bug Tracker": "https://git-ce.rwth-aachen.de/wzl-mq-public/soil/python/-/issues",
diff --git a/src/soil/parameter.py b/src/soil/parameter.py
index 9743aa06a7600df7b23be53d2f599c5121700b31..55949a38cb8ceccaf3c98cc9138e27664f8e5233 100644
--- a/src/soil/parameter.py
+++ b/src/soil/parameter.py
@@ -6,7 +6,7 @@ from typing import Dict, Callable, Any, List
 import rdflib
 
 from .datatype import Datatype
-from .error import ReadOnlyException
+from .error import ReadOnlyException, NotImplementedException
 from .semantics import Semantics, Namespaces
 from .variable import Variable
 from ..utils import root_logger
@@ -158,8 +158,15 @@ class Parameter(Variable):
                 assert (len(triples) == 1)
                 result.remove(triples[0])
 
-            rdf_value = Variable.serialize_value(result, self.__getitem__('value', 0))
-            result.add((Semantics.namespace[self._semantic_name], Namespaces.qudt['value'], rdf_value))
+            try:
+                rdf_value = Variable.serialize_value(result, self.__getitem__('value', 0))
+                result.add((Semantics.namespace[self._semantic_name], Namespaces.qudt['value'], rdf_value))
+            except DeviceException as e:
+                if isinstance(e._predecessor, NotImplementedException):
+                    pass
+                else:
+                    raise e
+
             return result
         else:
             raise DeviceException('The provided kind of semantic information cannot be returned.')