diff --git a/src/Tulsi/TulsiGeneratorConfigDocument.swift b/src/Tulsi/TulsiGeneratorConfigDocument.swift
index fced6dc..4b70a4b 100644
--- a/src/Tulsi/TulsiGeneratorConfigDocument.swift
+++ b/src/Tulsi/TulsiGeneratorConfigDocument.swift
@@ -442,11 +442,7 @@
   }
 
   private func enabledFeatures(options: TulsiOptionSet) -> Set<BazelSettingFeature> {
-    let workspaceRoot = infoExtractor.workspaceRootURL.path
-    let bazelExecroot = infoExtractor.bazelExecutionRoot
-    return BazelBuildSettingsFeatures.enabledFeatures(options: options,
-                                                      workspaceRoot: workspaceRoot,
-                                                      bazelExecRoot: bazelExecroot)
+    return BazelBuildSettingsFeatures.enabledFeatures(options: options)
   }
 
   // Regenerates the sourcePaths array based on the currently selected ruleEntries.
diff --git a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
index 2ae07ba..53385bb 100644
--- a/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
+++ b/src/TulsiGenerator/BazelBuildSettingsFeatures.swift
@@ -45,11 +45,15 @@
 }
 
 public class BazelBuildSettingsFeatures {
-  public static func enabledFeatures(
-      options: TulsiOptionSet,
-      workspaceRoot: String,
-      bazelExecRoot: String
-  ) -> Set<BazelSettingFeature> {
-    return [.DirectDebugPrefixMap(bazelExecRoot, workspaceRoot)]
+  public static func enabledFeatures(options: TulsiOptionSet) -> Set<BazelSettingFeature> {
+    // A normalized path for -fdebug-prefix-map exists for keeping all debug information as built by
+    // Clang consistent for the sake of caching within a distributed build system.
+    //
+    // This is handled through a wrapped_clang feature flag via the CROSSTOOL.
+    //
+    // The use of this flag does not affect any sources built by swiftc. At present time, all Swift
+    // compiled sources will be built with uncacheable, absolute paths, as the Swift compiler does
+    // not present an easy means of similarly normalizing all debug information.
+    return [.DebugPathNormalization]
   }
 }
diff --git a/src/TulsiGenerator/BazelSettingsProvider.swift b/src/TulsiGenerator/BazelSettingsProvider.swift
index ede387b..ecd78bc 100644
--- a/src/TulsiGenerator/BazelSettingsProvider.swift
+++ b/src/TulsiGenerator/BazelSettingsProvider.swift
@@ -24,33 +24,18 @@
 
   /// Feature flag to normalize paths present in debug information via a Clang flag for distributed
   /// builds (e.g. multiple distinct paths).
-  /// - Mutually exclusive with DirectDebugPrefixMap feature
   ///
   /// The use of this flag does not affect any sources built by swiftc. At present time, all Swift
   /// compiled sources will be built with uncacheable, absolute paths, as the Swift compiler does
   /// not provide an easy means of similarly normalizing all debug information.
   case DebugPathNormalization
 
-  /// Feature flag to normalize paths present in debug information via a Clang flag for local
-  /// builds.
-  /// - Mutually exclusive with DebugPathNormalization feature
-  ///
-  /// NOTE: Use of -fdebug-prefix-map leads to producing binaries that cannot be
-  /// reused across multiple machines by a distributed build system, unless the
-  /// absolute paths to files visible to Xcode match perfectly between all of
-  /// those machines.
-  ///
-  /// For this reason, -fdebug-prefix-map is provided as a default for non-distributed purposes.
-  case DirectDebugPrefixMap(String, String)
-
   /// TODO(b/111928007): Remove this and/or BazelSettingFeature once DebugPathNormalization is
   /// supported by all builds.
   public var stringValue: String {
     switch self {
       case .DebugPathNormalization:
         return "DebugPathNormalization"
-      case .DirectDebugPrefixMap:
-        return "DirectDebugPrefixMap"
     }
   }
 
@@ -68,8 +53,6 @@
         /// Technically this doesn't support swiftc, but we now support this feature for
         /// Cxx compilation alongside swift compilation.
         return true
-      case .DirectDebugPrefixMap:
-        return true
     }
   }
 
@@ -77,8 +60,6 @@
     switch self {
       case .DebugPathNormalization:
         return true
-      case .DirectDebugPrefixMap:
-        return true
     }
   }
 
@@ -91,9 +72,6 @@
   public var buildFlags: [String] {
     switch self {
       case .DebugPathNormalization: return ["--features=debug_prefix_map_pwd_is_dot"]
-      case .DirectDebugPrefixMap(let execRoot, let workspaceRoot): return [
-          String(format: "--copt=-fdebug-prefix-map=%@=%@", execRoot, workspaceRoot)
-      ]
     }
   }
 
diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift
index 3785341..b12ab82 100644
--- a/src/TulsiGenerator/XcodeProjectGenerator.swift
+++ b/src/TulsiGenerator/XcodeProjectGenerator.swift
@@ -575,9 +575,7 @@
 
   private func loadRuleEntryMap() throws -> RuleEntryMap {
     do {
-      let features = BazelBuildSettingsFeatures.enabledFeatures(options: config.options,
-                                                                workspaceRoot: workspaceRootURL.path,
-                                                                bazelExecRoot: workspaceInfoExtractor.bazelExecutionRoot)
+      let features = BazelBuildSettingsFeatures.enabledFeatures(options: config.options)
       return try workspaceInfoExtractor.ruleEntriesForLabels(config.buildTargetLabels,
                                                              startupOptions: config.options[.BazelBuildStartupOptionsDebug],
                                                              buildOptions: config.options[.BazelBuildOptionsDebug],
@@ -974,9 +972,7 @@
 
     let bazelSettingsProvider = workspaceInfoExtractor.bazelSettingsProvider
     let bazelExecRoot = workspaceInfoExtractor.bazelExecutionRoot
-    let features = BazelBuildSettingsFeatures.enabledFeatures(options: config.options,
-                                                              workspaceRoot: workspaceRootURL.path,
-                                                              bazelExecRoot: bazelExecRoot)
+    let features = BazelBuildSettingsFeatures.enabledFeatures(options: config.options)
     let bazelBuildSettings = bazelSettingsProvider.buildSettings(bazel: config.bazelURL.path,
                                                                  bazelExecRoot: bazelExecRoot,
                                                                  options: config.options,
diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift
index 1f44653..cbedb7e 100644
--- a/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift
+++ b/src/TulsiGeneratorIntegrationTests/EndToEndIntegrationTestCase.swift
@@ -116,10 +116,7 @@
                                    options: TulsiOptionSet,
                                    targets: [String]) -> (String, String) {
     let provider = BazelSettingsProvider(universalFlags: bazelUniversalFlags)
-    let execRoot = workspaceInfoFetcher.getExecutionRoot()
-    let features = BazelBuildSettingsFeatures.enabledFeatures(options: options,
-                                                              workspaceRoot: workspaceRootURL.path,
-                                                              bazelExecRoot: execRoot)
+    let features = BazelBuildSettingsFeatures.enabledFeatures(options: options)
     let dbg = provider.tulsiFlags(hasSwift: swift, options: options, features: features).debug
     let rel = provider.tulsiFlags(hasSwift: swift, options: options, features: features).release
 
diff --git a/src/TulsiGeneratorTests/BuildSettingsTests.swift b/src/TulsiGeneratorTests/BuildSettingsTests.swift
index a7c4218..f1d2047 100644
--- a/src/TulsiGeneratorTests/BuildSettingsTests.swift
+++ b/src/TulsiGeneratorTests/BuildSettingsTests.swift
@@ -135,7 +135,7 @@
           "//dir/some/customized:target": BazelFlagsSet(buildFlags: ["a", "b"]),
       ]
       let swiftFeatures = [BazelSettingFeature.DebugPathNormalization.stringValue]
-      let nonSwiftFeatures = [BazelSettingFeature.DirectDebugPrefixMap("", "").stringValue]
+      let nonSwiftFeatures = [BazelSettingFeature.DebugPathNormalization.stringValue]
       let settings = BazelBuildSettings(bazel: bazel,
                                         bazelExecRoot: bazelExecRoot,
                                         defaultPlatformConfigIdentifier: defaultIdentifier,
