diff --git a/saqc/lib/tools.py b/saqc/lib/tools.py
index 7fb6c447e80882602deaf1e29ad0279eedaabc06..a70c51e556278e7db68c4e1e1bfa8383bc35b86b 100644
--- a/saqc/lib/tools.py
+++ b/saqc/lib/tools.py
@@ -31,10 +31,15 @@ T = TypeVar("T", str, float, int)
 
 
 def assertScalar(name, value, optional=False):
-    if (not np.isscalar(value)) and (value is not None) and (optional is True):
-        raise ValueError(f"'{name}' needs to be a scalar or 'None'")
-    elif (not np.isscalar(value)) and optional is False:
-        raise ValueError(f"'{name}' needs to be a scalar")
+    if optional and value is None:
+        return
+    if np.isscalar(value):
+        return
+
+    msg = f"'{name}' needs to be a scalar"
+    if optional:
+        msg += " or 'None'"
+    raise ValueError(msg)
 
 
 def toSequence(value: T | Sequence[T]) -> List[T]: