diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index d2ca9fb8df13918a767578ed8aad1bc3bae6688e..2f824cbcad77a99244819de016c78336a79e83e7 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -2139,13 +2139,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
   if (KernelOrKext &&
       (!Triple.isiOS() || Triple.isOSVersionLT(6)))
     PIC = PIE = false;
-  // Usually '-static' implies no-PIC. But for MIPS '-fPIC -static' means
-  // to compile as -fPIC but link with -static.
-  if (Args.hasArg(options::OPT_static) &&
-      getToolChain().getArch() != llvm::Triple::mips &&
-      getToolChain().getArch() != llvm::Triple::mipsel &&
-      getToolChain().getArch() != llvm::Triple::mips64 &&
-      getToolChain().getArch() != llvm::Triple::mips64el)
+  if (Args.hasArg(options::OPT_static))
     PIC = PIE = false;
 
   if (Arg *A = Args.getLastArg(options::OPT_mdynamic_no_pic)) {
diff --git a/test/Driver/pic.c b/test/Driver/pic.c
index 7bf514caa30ff9d1e3899ea5facdc81b2e1f9245..30e1005c97370d679213db64c3797968831db03d 100644
--- a/test/Driver/pic.c
+++ b/test/Driver/pic.c
@@ -209,13 +209,3 @@
 // On OpenBSD, -nopie needs to be passed through to the linker.
 // RUN: %clang %s -target i386-pc-openbsd -nopie -### 2>&1 \
 // RUN:   | FileCheck %s --check-prefix=CHECK-NOPIE-LD
-//
-// For MIPS -fPIC -static means to compile as -fPIC but link with -static.
-// RUN: %clang -c %s -target mips-linux-gnu -fpic -static -### 2>&1 \
-// RUN:   | FileCheck %s --check-prefix=CHECK-PIC1
-// RUN: %clang -c %s -target mips-linux-gnu -### 2>&1 \
-// RUN:   | FileCheck %s --check-prefix=CHECK-NO-PIC
-// RUN: %clang -c %s -target mips-linux-gnu -fpic -### 2>&1 \
-// RUN:   | FileCheck %s --check-prefix=CHECK-PIC1
-// RUN: %clang -c %s -target mips-linux-gnu -static -### 2>&1 \
-// RUN:   | FileCheck %s --check-prefix=CHECK-NO-PIC