diff --git a/alarm/kodi-rbp/PKGBUILD b/alarm/kodi-rbp/PKGBUILD
index cd7f7f500..3a8409aca 100644
--- a/alarm/kodi-rbp/PKGBUILD
+++ b/alarm/kodi-rbp/PKGBUILD
@@ -12,7 +12,7 @@ pkgbase=kodi-rbp
 pkgname=('kodi-rbp' 'kodi-rbp-eventclients')
 pkgver=16.1
 _codename=Jarvis
-pkgrel=3
+pkgrel=4
 pkgdesc="A software media player and entertainment hub for digital media for the Raspberry Pi"
 arch=('armv6h' 'armv7h')
 url="http://kodi.tv"
@@ -28,13 +28,13 @@ source=("https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
         'kodi.service'
         'polkit.rules'
         'gcc6_fix.patch'
-        'fix_libdvd.patch')
+        'hifiberry_digi.patch')
 
 sha256sums=('7d82c8aff2715c83deecdf10c566e26105bec0473af530a1356d4c747ebdfd10'
             '5235068d5800d69f0287087815990e7fe8d6572733d60c8800546d35f608e87f'
             '9ea592205023ba861603d74b63cdb73126c56372a366dc4cb7beb379073cbb96'
             'b0fe75d10b2678894d1dec48f3258c0bec2a4a170f33d76a9a8334bb1969b18f'
-            '3b27148d2eda685f8f3c91bfc1b22376416ac710a8df192e34da0d4f059eb390')
+            '0b9d951911a8576c26dec8a31f394282677e48afff49b9579448121d27b8509e')
 prepare() {
   cd "$srcdir/xbmc-$pkgver-$_codename"
 
@@ -48,7 +48,7 @@ prepare() {
 install:' -i tools/EventClients/Makefile.in
 
   patch -Np1 -i ${srcdir}/gcc6_fix.patch
-  [[ $CARCH == "armv6h" ]] && patch -Np0 -i ${srcdir}/fix_libdvd.patch
+  patch -Np1 -i ${srcdir}/hifiberry_digi.patch
 }
 
 build() {
diff --git a/alarm/kodi-rbp/fix_libdvd.patch b/alarm/kodi-rbp/fix_libdvd.patch
deleted file mode 100644
index 704c3c119..000000000
--- a/alarm/kodi-rbp/fix_libdvd.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- Makefile.in.orig	2016-05-08 06:34:20.209825630 +0000
-+++ Makefile.in	2016-05-08 06:34:54.689715431 +0000
-@@ -11,7 +11,6 @@
- 
- DVDPCODECS_DIRS= \
- 	lib \
--	lib/libdvd 
- 
- ifeq (@USE_LIBSTAGEFRIGHT@,1)
- DVDPCODECS_DIRS += xbmc/cores/dvdplayer/DVDCodecs/Video/libstagefrightICS
-@@ -338,7 +337,6 @@
- 	$(MAKE) -C lib/addons/library.kodi.guilib
- 	$(MAKE) -C lib/addons/library.xbmc.pvr
- dvdpcodecs: dllloader
--	$(MAKE) -C lib/libdvd
- 
- ifeq (@USE_LIBSTAGEFRIGHT@,1)
- dvdpextcodecs: lib@APP_NAME_LC@.so
diff --git a/alarm/kodi-rbp/hifiberry_digi.patch b/alarm/kodi-rbp/hifiberry_digi.patch
new file mode 100644
index 000000000..0998e02fa
--- /dev/null
+++ b/alarm/kodi-rbp/hifiberry_digi.patch
@@ -0,0 +1,14 @@
+diff -rupN a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp	2016-04-24 07:48:30.000000000 +0100
++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp	2016-07-06 23:15:14.851453568 +0100
+@@ -1342,6 +1342,10 @@ void CAESinkALSA::EnumerateDevice(AEDevi
+     if (snd_card_get_name(cardNr, &cardName) == 0)
+       info.m_displayName = cardName;
+ 
++    /* hifiberry digi doesn't correctly report as iec958 device. Needs fixing in kernel driver */
++    if (info.m_displayName == "snd_rpi_hifiberry_digi")
++        info.m_deviceType = AE_DEVTYPE_IEC958;
++
+     if (info.m_deviceType == AE_DEVTYPE_HDMI && info.m_displayName.size() > 5 &&
+         info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI")
+     {