diff --git a/community/mgba/PKGBUILD b/community/mgba/PKGBUILD
index 40a7fb55a..6ed7f89a0 100644
--- a/community/mgba/PKGBUILD
+++ b/community/mgba/PKGBUILD
@@ -6,27 +6,18 @@
 # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
 #  - disable LTO
 #  - build for GLES on !aarch64
-#  - upstream patch to remove NaN usage
 
 pkgbase=mgba
 pkgname=('libmgba' 'mgba-sdl' 'mgba-qt')
-pkgver=0.4.0
-pkgrel=2
+pkgver=0.4.1
+pkgrel=1
 arch=('i686' 'x86_64')
 url='http://mgba.io'
 license=('custom:MPL2')
 makedepends=('cmake' 'qt5-multimedia' 'sdl2' 'zlib' 'libpng' 'libzip' 'libedit'
              'ffmpeg' 'imagemagick' 'desktop-file-utils')
-install=$pkgbase.install
-source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz
-        isnan.patch)
-md5sums=('b37fcab5e7139b7c161d880576d2d1cc'
-         '030b38b18fb23e7f80bfb2e3e362b0da')
-
-prepare() {
-  [[ ! -d build ]] && mkdir build || rm -rf build
-  patch -p1 -d mgba-$pkgver -i ../isnan.patch
-}
+source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz)
+md5sums=('41918d60e915ab22631a30999423d42e')
 
 build() {
   cd build
diff --git a/community/mgba/isnan.patch b/community/mgba/isnan.patch
deleted file mode 100644
index b1b8f08a6..000000000
--- a/community/mgba/isnan.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp
-index ed6c5ed..f5916c5 100644
---- a/src/platform/qt/Window.cpp
-+++ b/src/platform/qt/Window.cpp
-@@ -48,11 +48,6 @@ extern "C" {
- 
- using namespace QGBA;
- 
--#if defined(__WIN32) || defined(__OpenBSD__)
--// This is a macro everywhere except MinGW and OpenBSD, it seems
--using std::isnan;
--#endif
--
- Window::Window(ConfigController* config, int playerId, QWidget* parent)
- 	: QMainWindow(parent)
- 	, m_log(0)
-@@ -774,7 +769,7 @@ void Window::updateTitle(float fps) {
- 	m_controller->threadContinue();
- 	if (title.isNull()) {
- 		setWindowTitle(tr("%1 - %2").arg(projectName).arg(projectVersion));
--	} else if (isnan(fps)) {
-+	} else if (fps < 0) {
- 		setWindowTitle(tr("%1 - %2 - %3").arg(projectName).arg(title).arg(projectVersion));
- 	} else {
- 		setWindowTitle(tr("%1 - %2 (%3 fps) - %4").arg(projectName).arg(title).arg(fps).arg(projectVersion));
-diff --git a/src/platform/qt/Window.h b/src/platform/qt/Window.h
-index 7d6ece7..5a244b9 100644
---- a/src/platform/qt/Window.h
-+++ b/src/platform/qt/Window.h
-@@ -142,7 +142,7 @@ private slots:
- 	QAction* addControlledAction(QMenu* menu, QAction* action, const QString& name);
- 	QAction* addHiddenAction(QMenu* menu, QAction* action, const QString& name);
- 
--	void updateTitle(float fps = NAN);
-+	void updateTitle(float fps = -1);
- 
- 	GameController* m_controller;
- 	Display* m_display;
diff --git a/community/mgba/mgba.install b/community/mgba/mgba.install
deleted file mode 100644
index 1a05f573e..000000000
--- a/community/mgba/mgba.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
-  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
-  post_install
-}
-
-post_remove() {
-  post_install
-}