diff --git a/debian/changelog b/debian/changelog
index 924450d3821242bc670f730052b7821694f2e9c3..469aae0963e43e72c52b4734c9df681bbe4d9b28 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 python-debian (0.1.45) UNRELEASED; urgency=medium
 
   * Add Deb822FileElement.remove method.
+  * RTS parser: don't add trailing whitespace when setting field values
+    that start with a newline. Closes: #1013485
 
  -- Jelmer Vernooij <jelmer@debian.org>  Sun, 05 Jun 2022 15:39:21 +0100
 
diff --git a/lib/debian/_deb822_repro/parsing.py b/lib/debian/_deb822_repro/parsing.py
index c880245fe8acff6f1028409ff3a3e6c4aa52f982..6468a6f06081e85c1288dbca8415727e562f43e2 100644
--- a/lib/debian/_deb822_repro/parsing.py
+++ b/lib/debian/_deb822_repro/parsing.py
@@ -1450,7 +1450,10 @@ class Deb822ParagraphToStrWrapperMixin(AutoResolvingMixin[str],
                 return
             # Regenerate the first line with normalized whitespace
             first_line, rest = value.split("\n", 1)
-            value = "".join((" ", first_line.strip(), "\n", rest))
+            if first_line:
+                value = "".join((" ", first_line.strip(), "\n", rest))
+            else:
+                value = "".join(("\n", rest))
         if not value.endswith("\n"):
             if not self._auto_map_final_newline_in_multiline_values:
                 raise ValueError("Values must end with a newline (or be single line"
diff --git a/lib/debian/tests/test_repro_deb822.py b/lib/debian/tests/test_repro_deb822.py
index 46df2eaa9a43a98f61824177b519ae493e5d7c5c..5721d1f666a53dcd0c52b36ec92180049431e38d 100644
--- a/lib/debian/tests/test_repro_deb822.py
+++ b/lib/debian/tests/test_repro_deb822.py
@@ -1761,3 +1761,17 @@ class FormatPreservingDeb822ParserTests(TestCase):
                                   expected_result) as bd_list:
             bd_list.append_newline()
             bd_list.append('bar (>= 1.0~)')
+
+    def test_mutate_field_preserves_whitespace(self):
+        # type: () -> None
+
+        original = textwrap.dedent('''\
+        Package: foo
+        Build-Depends:
+         debhelper-compat (= 11),
+         uuid-dev
+        ''')
+        deb822_file = parse_deb822_file(original.splitlines(keepends=True))
+        source_paragraph = next(iter(deb822_file))
+        source_paragraph['Build-Depends'] = '\n debhelper-compat (= 11),\n uuid-dev'
+        self.assertEqual(original, deb822_file.convert_to_text())