diff --git a/client/src/components/DatasetInformation/DatasetAttributes.vue b/client/src/components/DatasetInformation/DatasetAttributes.vue
index dd942966dd0..73874c5f601 100644
--- a/client/src/components/DatasetInformation/DatasetAttributes.vue
+++ b/client/src/components/DatasetInformation/DatasetAttributes.vue
@@ -20,12 +20,16 @@
@click="submit('attribute', 'attributes')">
{{ "Save" | l }}
-
+
{{ "Auto-detect" | l }}
-
+
{{ "Convert" | l }}
diff --git a/lib/galaxy/webapps/galaxy/controllers/dataset.py b/lib/galaxy/webapps/galaxy/controllers/dataset.py
index 0473f7d2a1f..fe1578907b9 100644
--- a/lib/galaxy/webapps/galaxy/controllers/dataset.py
+++ b/lib/galaxy/webapps/galaxy/controllers/dataset.py
@@ -291,6 +291,10 @@ class DatasetInterface(BaseUIController, UsesAnnotations, UsesItemRatings, UsesE
if data.missing_meta():
message = 'Required metadata values are missing. Some of these values may not be editable by the user. Selecting "Auto-detect" will attempt to fix these values.'
status = "warning"
+ metadata_disable = data.state not in [
+ trans.model.Dataset.states.OK,
+ trans.model.Dataset.states.FAILED_METADATA,
+ ]
# datatype conversion
conversion_options = [
(f"{convert_id} (using '{convert_name}')", convert_id)
@@ -369,6 +373,7 @@ class DatasetInterface(BaseUIController, UsesAnnotations, UsesItemRatings, UsesE
"message": message,
"status": status,
"dataset_id": dataset_id,
+ "metadata_disable": metadata_disable,
"attribute_inputs": attribute_inputs,
"conversion_inputs": conversion_inputs,
"conversion_disable": conversion_disable,