diff --git a/gwinc/nb.py b/gwinc/nb.py
index 56baa8bfd5582f2913ed3e259791b81d0a4ca921..7671b7fd696742413889a29d08f0af24f93a45d7 100644
--- a/gwinc/nb.py
+++ b/gwinc/nb.py
@@ -521,6 +521,8 @@ class Budget(Noise):
         """
         if _precomp is None:
             _precomp = dict()
+        # must copy first if using mul-in-place or we clobber other cals
+        calibration = np.ones_like(self.freq) * calibration
         for cal in self._noise_cals[name]:
             if _cals:
                 calibration *= _cals[cal]