diff --git a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
index 0ea9acb..d8b742a 100644
--- a/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
+++ b/src/dawn_native/d3d12/ShaderModuleD3D12.cpp
@@ -258,10 +258,7 @@
                 layout->GetFirstIndexOffsetRegisterSpace());
         }
         transformManager.Add<tint::transform::BindingRemapper>();
-
-        if (!GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
-            transformManager.Add<tint::transform::Renamer>();
-        }
+        transformManager.Add<tint::transform::Renamer>();
 
         // D3D12 registers like `t3` and `c3` have the same bindingOffset number in the
         // remapping but should not be considered a collision because they have different types.
@@ -292,11 +289,7 @@
             }
             *remappedEntryPointName = it->second;
         } else {
-            if (GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
-                *remappedEntryPointName = entryPointName;
-            } else {
-                return DAWN_VALIDATION_ERROR("Transform output missing renamer data.");
-            }
+            return DAWN_VALIDATION_ERROR("Transform output missing renamer data.");
         }
 
         tint::writer::hlsl::Options options;
diff --git a/src/dawn_native/metal/ShaderModuleMTL.mm b/src/dawn_native/metal/ShaderModuleMTL.mm
index bbbe86c..d8afff5 100644
--- a/src/dawn_native/metal/ShaderModuleMTL.mm
+++ b/src/dawn_native/metal/ShaderModuleMTL.mm
@@ -123,10 +123,7 @@
             transformManager.Add<tint::transform::BoundArrayAccessors>();
         }
         transformManager.Add<tint::transform::BindingRemapper>();
-
-        if (!GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
-            transformManager.Add<tint::transform::Renamer>();
-        }
+        transformManager.Add<tint::transform::Renamer>();
 
         transformInputs.Add<BindingRemapper::Remappings>(std::move(bindingPoints),
                                                          std::move(accessControls),
@@ -144,11 +141,7 @@
             }
             *remappedEntryPointName = it->second;
         } else {
-            if (GetDevice()->IsToggleEnabled(Toggle::DumpTranslatedShaders)) {
-                *remappedEntryPointName = entryPointName;
-            } else {
-                return DAWN_VALIDATION_ERROR("Transform output missing renamer data.");
-            }
+            return DAWN_VALIDATION_ERROR("Transform output missing renamer data.");
         }
 
         tint::writer::msl::Options options;
