diff --git a/nomad/app/v1/routers/datasets.py b/nomad/app/v1/routers/datasets.py
index aecad4c433aacddd9b094c3d5d5eb402daf09d72..5ff73226362aae42df5bbbc24a3147ed496bc6bf 100644
--- a/nomad/app/v1/routers/datasets.py
+++ b/nomad/app/v1/routers/datasets.py
@@ -286,7 +286,7 @@ async def delete_dataset(
             status_code=_bad_id_response[0],
             detail=_bad_id_response[1]['description'])
 
-    if dataset.doi is not None:
+    if dataset.doi is not None and not user.is_admin:
         raise HTTPException(
             status_code=_existing_name_response[0],
             detail=_dataset_is_fixed_response[1]['description'])
diff --git a/nomad/app/v1/routers/entries.py b/nomad/app/v1/routers/entries.py
index f40f805e7a6e3d83ca67f24de90439037b6f1c1b..0236b2786654a5d2f24184422137c23e98f43463 100644
--- a/nomad/app/v1/routers/entries.py
+++ b/nomad/app/v1/routers/entries.py
@@ -337,7 +337,7 @@ def perform_search(*args, **kwargs):
 
 
 @router.post(
-    '/query', tags=['entries/metadata'],
+    '/query', tags=[metadata_tag],
     summary='Search entries and retrieve their metadata',
     response_model=MetadataResponse,
     responses=create_responses(_bad_owner_response),
@@ -1156,7 +1156,7 @@ _editable_quantities = {
 
 @router.post(
     '/edit',
-    tags=[archive_tag],
+    tags=[metadata_tag],
     summary='Edit the user metadata of a set of entries',
     response_model=EntryMetadataEditResponse,
     response_model_exclude_unset=True,
@@ -1297,7 +1297,7 @@ async def post_entry_metadata_edit(
 
                 doi_ds = datamodel.Dataset.m_def.a_mongo.objects(
                     dataset_id__in=removed_datasets, doi__ne=None).first()
-                if doi_ds is not None:
+                if doi_ds is not None and not user.is_admin:
                     data.success = False
                     data.message = (data.message if data.message else '') + (
                         'Edit would remove entries from a dataset with DOI (%s) ' % doi_ds.name)