diff --git a/openhtf/util/measurements.py b/openhtf/util/measurements.py
index <HASH>..<HASH> 100644
--- a/openhtf/util/measurements.py
+++ b/openhtf/util/measurements.py
@@ -142,11 +142,11 @@ class Measurement(  # pylint: disable=no-init
     """Creates a new Measurement, see openhtf.PhaseInfo.WithArgs."""
     new_meas = mutablerecords.CopyRecord(self)
     if '{' in new_meas.name:
-      formatter = lambda x: x.format(**kwargs)
+      formatter = lambda x: x.format(**kwargs) if x else x
     else:
       # str % {'a': 1} is harmless if str doesn't use any interpolation.
       # .format is as well, but % is more likely to be used in other contexts.
-      formatter = lambda x: x % kwargs
+      formatter = lambda x: x % kwargs if x else x
     new_meas.name = formatter(self.name)
     new_meas.docstring = formatter(self.docstring)
     return new_meas
don't try to format NoneType docstrings