diff --git a/setup.py b/setup.py
index 4788201..fc7609e 100644
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@ extras_require["test"] = sorted(
             "mypy",
             "types-tabulate",
             "types-PyYAML",
-            "typeguard>=4.0.0,!=4.0.1,!=4.1.0,!=4.1.1",  # cabinetry#391, cabinetry#428
+            "typeguard>=4.0.0,!=4.0.1,!=4.1.*",  # cabinetry#391, cabinetry#428
             "black",
         ]
     )
diff --git a/src/cabinetry/histo.py b/src/cabinetry/histo.py
index 578591e..5a6d132 100644
--- a/src/cabinetry/histo.py
+++ b/src/cabinetry/histo.py
@@ -79,11 +79,10 @@ class Histogram(bh.Histogram, family=cabinetry):
         if modified:
             histo_path_modified = histo_path.parent / (histo_path.name + "_modified")
             if not histo_path_modified.with_suffix(".npz").exists():
-                log.warning(
-                    f"the modified histogram {histo_path_modified.with_suffix('.npz')} "
-                    "does not exist"
+                log.info(
+                    f"no modified histogram {histo_path_modified.with_suffix('.npz')} "
+                    "found, loading un-modified histogram"
                 )
-                log.warning("loading the un-modified histogram instead!")
             else:
                 histo_path = histo_path_modified
         histogram_npz = np.load(histo_path.with_suffix(".npz"))

diff --git a/tests/test_histo.py b/tests/test_histo.py
index a1e607f..71a5ea1 100644
--- a/tests/test_histo.py
+++ b/tests/test_histo.py
@@ -122,13 +122,11 @@ def test_Histogram_from_path(tmp_path, caplog, example_histograms, histogram_hel
 
     # try loading a modified one, without success since it does not exist
     h_from_path_modified = histo.Histogram.from_path(tmp_path, modified=True)
-    expected_warning = (
-        f"the modified histogram {str(tmp_path)}_modified.npz does not exist"
+    expected_info = (
+        f"no modified histogram {str(tmp_path)}_modified.npz found, "
+        "loading un-modified histogram"
     )
-    assert expected_warning in [rec.message for rec in caplog.records]
-    assert "loading the un-modified histogram instead!" in [
-        rec.message for rec in caplog.records
-    ]
+    assert expected_info in [rec.message for rec in caplog.records]
     caplog.clear()
 
     # successfully load a modified histogram

Warnings about missing post-processed histograms
Warnings like

```
WARNING - cabinetry.histo - the modified histogram histograms/CR-Wy_RECAST_Signal_modified.npz does not exist
WARNING - cabinetry.histo - loading the un-modified histogram instead!
```

appear when `cabinetry.templates.postprocess(config)` is not called. The `WARNING` log level seems a bit high for this, it is really more of an information so should be updated accordingly.

cc @lukasheinrich for raising this (thanks!)
tests/test_histo.py::test_Histogram_from_path
tests/test_histo.py::test_Histogram tests/test_histo.py::test_Histogram_from_arrays tests/test_histo.py::test_Histogram_from_config tests/test_histo.py::test_Histogram_save tests/test_histo.py::test_Histogram_normalize_to_yield tests/test_histo.py::test_name