diff --git a/README.md b/README.md
index 3c80a843e98a72ba2543f8fcf9a8feeae08127fc..bdae4e44d582bfdfc2fd0a1c25e52690f9afdef2 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: 10.0.6
+Current stable version: 10.0.7
 
 ## Installation
 1. Install the WZL-UDI package via pip
@@ -69,6 +69,9 @@ Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation)
 
 ## Recent changes
 
+**10.0.7** - 2024-03-22
+  - fixed unit handling for the metadata provisioning
+
 **10.0.6** - 2024-03-22
   - fixed validation of rfc3339 datetime strings
 
diff --git a/setup.py b/setup.py
index 445975fe1a1aca5e3f9100a77e5755cf88c2bfad..c7cf529816bfcf70e5213108c3edb2b2c8865151 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='10.0.6',
+      version='10.0.7',
       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/measurement.py b/src/soil/measurement.py
index 9160e3d5baf0e8c072824cd6fc9421f0c30ab315..5fb91c50c3646ad98ba8ecad9ae00dd10fdbe236 100644
--- a/src/soil/measurement.py
+++ b/src/soil/measurement.py
@@ -238,11 +238,12 @@ class Measurement(Variable):
 
             # create result node
             unit_triples = list(self._metadata.triples((None, Namespaces.qudt.applicableUnit, None)))
-            assert len(unit_triples) == 1
+            assert self.datatype in [Datatype.STRING, Datatype.ENUM, Datatype.BOOLEAN, Datatype.TIME] or len(unit_triples) == 1
 
             data_graph.add((result_subject, Namespaces.rdf.type, rdflib.URIRef(Namespaces.sosa.Result)))
             data_graph.add((result_subject, Namespaces.sosa.isResultOf, measurement_subject))
-            data_graph.add((result_subject, Namespaces.qudt.unit, unit_triples[0][2]))
+            if len(unit_triples) == 1:
+                data_graph.add((result_subject, Namespaces.qudt.unit, unit_triples[0][2]))
             data_graph.add((result_subject, Namespaces.schema.license, Semantics.data_license))
 
             rdf_value = self.serialize_value(data_graph, self.__getitem__('value', 0))