diff --git a/src/util/IntrusiveForwardList.hxx b/src/util/IntrusiveForwardList.hxx
index fb6df7f78..b3eb44395 100644
--- a/src/util/IntrusiveForwardList.hxx
+++ b/src/util/IntrusiveForwardList.hxx
@@ -9,7 +9,7 @@
 #include "MemberPointer.hxx"
 #include "OptionalCounter.hxx"
 #include "OptionalField.hxx"
-#include "ShallowCopy.hxx"
+#include "TagStructs.hxx"
 
 #include <iterator>
 #include <type_traits>
diff --git a/src/util/ShallowCopy.hxx b/src/util/TagStructs.hxx
similarity index 69%
rename from src/util/ShallowCopy.hxx
rename to src/util/TagStructs.hxx
index 411656c4a..bf11e84b4 100644
--- a/src/util/ShallowCopy.hxx
+++ b/src/util/TagStructs.hxx
@@ -4,6 +4,11 @@
 
 #pragma once
 
+/*
+ * This header contains empty struct definitiosn that are supposed to
+ * select special overloads of functions/methods/constructors.
+ */
+
 /**
  * A tag for overloading copying constructors, telling them to make
  * shallow copies of source data (e.g. copy pointers instead of