diff --git a/pkgs/development/tools/misc/patchelf/new.nix b/pkgs/development/tools/misc/patchelf/new.nix
index 33afc6023ab5..6ada2e2508c7 100644
--- a/pkgs/development/tools/misc/patchelf/new.nix
+++ b/pkgs/development/tools/misc/patchelf/new.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "patchelf-0.2pre4979";
+  name = "patchelf-0.3pre7826";
   src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/nix/patchelf-0.2pre4979/patchelf-0.2pre4979.tar.bz2;
-    md5 = "d45a5a8e13fcef951556d351cc7a64a0";
+    url = http://nix.cs.uu.nl/dist/nix/patchelf-0.3pre7826/patchelf-0.3pre7826.tar.bz2;
+    sha256 = "0wnb5a5964dgp55awygvzw2ssa6j63s568qg4i6kjfx11vvl3zqi";
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 22babdb3b96f..0533da6cb789 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1101,9 +1101,10 @@ rec {
   };
 
   patchelf = useFromStdenv (stdenv ? patchelf) stdenv.patchelf
-    (import ../development/tools/misc/patchelf {
-      inherit fetchurl stdenv;
-    });
+    (if stdenv.system == "x86_64-linux" then patchelfNew else
+      (import ../development/tools/misc/patchelf {
+        inherit fetchurl stdenv;
+      }));
 
   patchelfNew = import ../development/tools/misc/patchelf/new.nix {
     inherit fetchurl stdenv;