diff --git a/src/reuse/__init__.py b/src/reuse/__init__.py
index 6b64a7653..afad7af9d 100644
--- a/src/reuse/__init__.py
+++ b/src/reuse/__init__.py
@@ -14,6 +14,8 @@
 from boolean.boolean import Expression
 from pkg_resources import DistributionNotFound, get_distribution
 
+import reuse.compat
+
 try:
     __version__ = get_distribution(__name__).version
 except DistributionNotFound:
diff --git a/src/reuse/compat.py b/src/reuse/compat.py
new file mode 100644
index 000000000..9f5bbccaa
--- /dev/null
+++ b/src/reuse/compat.py
@@ -0,0 +1,20 @@
+# SPDX-FileCopyrightText: 2023 Matthias Riße
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+"""This module adds compatibility code like backports."""
+import sys
+
+# Introduce an implementation of pathlib.Path's is_relative_to in python
+# versions before 3.9
+if sys.version_info < (3, 9):
+    from pathlib import Path
+
+    def _is_relative_to(self, path):
+        try:
+            self.relative_to(path)
+            return True
+        except ValueError:
+            return False
+
+    Path.is_relative_to = _is_relative_to