diff --git a/xmppc/Makefile b/xmppc/Makefile
index f2bb6211399f42fce87d61066b67a8827b5fa1f4..233e45b82c109ad8412f2a54f11afd32b10d2983 100755
--- a/xmppc/Makefile
+++ b/xmppc/Makefile
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xmppc
-PKG_VERSION:=2.2.9
+PKG_VERSION:=2.2.10
 
 LOCAL_DEV:=0
 ifneq ($(LOCAL_DEV),1)
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/xmppc.git
-PKG_SOURCE_VERSION:=ff76b296e767a5732d7b07ad94c141a4a6e50ed5
+PKG_SOURCE_VERSION:=a2945d99b916ddbe3b5270446e9b8d310a104052
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 PKG_MIRROR_HASH:=skip
 endif
diff --git a/xmppc/files/etc/init.d/xmppc b/xmppc/files/etc/init.d/xmppc
index fc9e392d7415b7cc0d21d553768e6b03290a9c02..0e464a241a1793af2e1ee1b075d5584f3acf4b84 100755
--- a/xmppc/files/etc/init.d/xmppc
+++ b/xmppc/files/etc/init.d/xmppc
@@ -11,12 +11,25 @@ stop_service() {
 	if [ "${xmpp_running}" = "true" ]; then
 		procd_send_signal xmppc '*' SIGKILL
 	fi
+
+	if [ -f "/var/state/xmppc" ]; then
+		uci -q -c /var/state delete xmppc.conn_status
+		uci -q -c /var/state commit xmppc
+	fi
 }
 
 start_service() {
 	local con_name=$(uci -q get xmpp.xmpp.conn_req_connection)
 	local con_enable=$(uci -q get xmpp."${con_name}".enable)
 
+	if [ ! -f "/var/state/xmppc" ]; then
+		touch "/var/state/xmppc"
+	fi
+
+	uci -q -c /var/state set xmppc.global='global'
+	uci -q -c /var/state set xmppc.global.last_change="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
+	uci -q -c /var/state commit xmppc
+
 	procd_open_instance
 	if [ "$con_enable" = "1" ]; then
 		procd_set_param command "$PROG"