diff --git a/extra/firefox/0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch b/extra/firefox/0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch
new file mode 100644
index 000000000..cf2e0eb9b
--- /dev/null
+++ b/extra/firefox/0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch
@@ -0,0 +1,48 @@
+From bbd48a5613c872883616884cfaf41665b0e4ec9b Mon Sep 17 00:00:00 2001
+From: Ralph Giles <giles@mozilla.com>
+Date: Fri, 10 Feb 2017 12:58:18 -0800
+Subject: [PATCH] Bug 1338655 - Don't try to build mp4parse bindings. r=froydnj
+
+We use the cheddar crate to generate a C header file
+for our mp4parse_capi wrapper crate. Currently we
+do this at code check-in time via update-rust.sh.
+
+Cargo 0.18 and later will try to execute a build.rs
+file in the crate source tree regardless of whether
+it's specified in Cargo.toml so patching out that
+line just results in 'crate cheddar not found'.
+
+This change restores the old behaviour by substituting
+a 'build = false' line instead.
+
+We do have syntex vendored, but we don't currently build
+it by default, so I prefer this solution to just vendoring
+cheddar and generating the header at build time. The syntex
+crate is quite large and adds significantly to our compile
+time.
+
+MozReview-Commit-ID: InJRRODWAdP
+
+--HG--
+extra : rebase_source : 29378fcbc86015ce6cc22dc66d38a43ddbac204e
+---
+ media/libstagefright/binding/mp4parse-cargo.patch     | 5 +++--
+ media/libstagefright/binding/mp4parse_capi/Cargo.toml | 2 ++
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/media/libstagefright/binding/mp4parse_capi/Cargo.toml b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
+index aee7ee947151a27c..d7e3f55119d3f4b6 100644
+--- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
++++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
+@@ -18,6 +18,8 @@ exclude = [
+   "*.mp4",
+ ]
+ 
++build = false
++
+ [dependencies]
+ byteorder = "1.0.0"
+ "mp4parse" = {version = "0.6.0", path = "../mp4parse"}
+-- 
+2.12.2
+
diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD
index 1da3a047c..ef3fb1e8c 100644
--- a/extra/firefox/PKGBUILD
+++ b/extra/firefox/PKGBUILD
@@ -13,8 +13,8 @@ buildarch=12
 highmem=1
 
 pkgname=firefox
-pkgver=53.0
-pkgrel=2
+pkgver=53.0.2
+pkgrel=1
 pkgdesc="Standalone web browser from mozilla.org"
 arch=(i686 x86_64)
 license=(MPL GPL LGPL)
@@ -29,12 +29,14 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
 options=(!emptydirs !makeflags !strip)
 source=(https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
         firefox.desktop firefox-symbolic.svg
+        0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch
         firefox-install-dir.patch fix-wifi-scanner.diff
         mozilla-1335250.patch
         rhbz-1354671.patch)
-sha256sums=('4ed1b23ea7c08f81a08817ddf3b4f06849e01420ee074008b6f390366e95b7d0'
+sha256sums=('c536df9794fafe61e4e74562e2a37cd4a6fb1c13d99d5330d61be03b2d57ae54'
             'ada313750e6fb14558b37c764409a17c1672a351a46c73b350aa1fe4ea9220ef'
             'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9'
+            '413cd6d366d78f325d80ebebccfd0afa0d266b40b2e54b66ba2fa03c15f3ea67'
             'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd'
             '9765bca5d63fb5525bbd0520b7ab1d27cabaed697e2fc7791400abc3fa4f13b8'
             'f3944e22d21b41b3aa17e3ea0614ffd13863e66bc8f9f6120f2efbc7595ea347'
@@ -65,6 +67,9 @@ prepare() {
   # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968
   patch -Np1 -i ../fix-wifi-scanner.diff
 
+  # https://bugs.archlinux.org/task/53890
+  patch -Np1 -i ../0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch
+
   echo -n "$_google_api_key" >google-api-key
   echo -n "$_mozilla_api_key" >mozilla-api-key