diff --git a/swh/deposit/api/private/deposit_read.py b/swh/deposit/api/private/deposit_read.py
--- a/swh/deposit/api/private/deposit_read.py
+++ b/swh/deposit/api/private/deposit_read.py
@@ -165,8 +165,12 @@
         if raw_metadata:
             metadata_tree = ElementTree.fromstring(raw_metadata)
             author_date, commit_date = self._parse_dates(deposit, metadata_tree)
+            release_notes_elements = metadata_tree.findall(
+                "codemeta:releaseNotes", namespaces=NAMESPACES
+            )
         else:
             author_date = commit_date = None
+            release_notes_elements = []
 
         if deposit.parent and deposit.parent.swhid:
             parent_swhid = deposit.parent.swhid
@@ -177,9 +181,6 @@
         else:
             parents = []
 
-        release_notes_elements = metadata_tree.findall(
-            "codemeta:releaseNotes", namespaces=NAMESPACES
-        )
         release_notes: Optional[str]
         if release_notes_elements:
             release_notes = "\n\n".join(
diff --git a/swh/deposit/tests/api/test_deposit_private_read_metadata.py b/swh/deposit/tests/api/test_deposit_private_read_metadata.py
--- a/swh/deposit/tests/api/test_deposit_private_read_metadata.py
+++ b/swh/deposit/tests/api/test_deposit_private_read_metadata.py
@@ -35,6 +35,53 @@
     return deposit
 
 
+def test_read_missing_metadata(
+    authenticated_client, deposit_collection, partial_deposit, atom_dataset
+):
+    """Private metadata read api to existing deposit should return metadata
+
+    """
+    deposit = partial_deposit
+    deposit.external_id = "some-external-id"
+    deposit.origin_url = f"https://hal-test.archives-ouvertes.fr/{deposit.external_id}"
+    deposit.save()
+
+    for url in private_get_raw_url_endpoints(deposit_collection, deposit):
+        response = authenticated_client.get(url)
+        assert response.status_code == status.HTTP_200_OK
+        assert response["content-type"] == "application/json"
+        actual_data = response.json()
+        assert actual_data == {
+            "origin": {
+                "type": "deposit",
+                "url": "https://hal-test.archives-ouvertes.fr/some-external-id",
+            },
+            "raw_metadata": None,
+            "provider": {
+                "metadata": {},
+                "provider_name": "",
+                "provider_type": "deposit_client",
+                "provider_url": "https://hal-test.archives-ouvertes.fr/",
+            },
+            "tool": {
+                "configuration": {"sword_version": "2"},
+                "name": "swh-deposit",
+                "version": __version__,
+            },
+            "deposit": {
+                "author": SWH_PERSON,
+                "committer": SWH_PERSON,
+                "committer_date": None,
+                "author_date": None,
+                "client": "test",
+                "id": deposit.id,
+                "collection": "test",
+                "revision_parents": [],
+                "release_notes": None,
+            },
+        }
+
+
 def test_read_metadata(
     authenticated_client, deposit_collection, partial_deposit, atom_dataset
 ):