1diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
2index c0ee9217e8..bf7737d6fa 100644
3--- a/lib/Driver/ToolChains.cpp
4+++ b/lib/Driver/ToolChains.cpp
5@@ -1489,6 +1489,12 @@
6 LinkerDriver = Args.MakeArgString(tool.get());
7 }
8
9+ // For Nix, prefer linking using the wrapped Nixpkgs clang, instead of using
10+ // the unwrapped clang packaged with swift. The latter is unable to link, but
11+ // we still want to use it for other purposes (clang importer).
12+ if (auto tool = llvm::sys::findProgramByName(LinkerDriver, {"@clang@/bin"}))
13+ return Args.MakeArgString(tool.get());
14+
15 return LinkerDriver;
16 }
17