         let buildSettings = getCombinedBuildSettings(basePath: basePath, target: target, config: config, includeProject: includeProject)
         return buildSettings[setting] != nil
     }
+
+    // MARK: private
+
+    /// Removes values for specified keys in buildSettings
+    /// - parameter keys: Keys for values to remove
+    /// - paramerter buildSettings: inout dictionary
+    private func removeValues(for keys: BuildSettings.Keys, buildSettings: inout BuildSettings) {
+        for k in keys {
+            // FIXME: Catch platform specifier. e.g. LD_RUNPATH_SEARCH_PATHS[sdk=iphone*]
+            buildSettings.removeValue(forKey: k)
+            buildSettings.removeValue(forKey: "\"\(k)\"")
+        }
+    }
 }
 
 private var buildSettingFiles: [String: BuildSettings] = [:]

        // Do not overwrite target xcconfig's values.
        if let configPath = target.configFiles[config.name] {
            if let configFile = try? XCConfig(path: basePath + configPath) {
                for (k, _) in configFile.flattenedBuildSettings() {
                    // FIXME: Catch platform specifier. e.g. LD_RUNPATH_SEARCH_PATHS[sdk=iphone*]
                    buildSettings.removeValue(forKey: k)
                    buildSettings.removeValue(forKey: "\"\(k)\"")
                }
            }
        }
        // Avoid overwriting target xcconfig's values by base presets' values.
        if let configPath = configFiles[config.name] {
            if let configFile = try? XCConfig(path: basePath + configPath) {
                for (k, _) in configFile.flattenedBuildSettings() {
                    // FIXME: Catch platform specifier. e.g. LD_RUNPATH_SEARCH_PATHS[sdk=iphone*]
                    buildSettings.removeValue(forKey: k)
                    buildSettings.removeValue(forKey: "\"\(k)\"")
                }
            }
        }


        if let configPath = configFiles[config.name] {
            // Do not overwrite project xcconfig's value.
            if let configFile = try? XCConfig(path: basePath + configPath) {
                removeValues(for: configFile.flattenedBuildSettings().keys, buildSettings: &buildSettings)
            }
        }

