diff --git a/debian/patches/0007-demo-Fix-where-am-i-crash-on-32bits-platform.patch b/debian/patches/0007-demo-Fix-where-am-i-crash-on-32bits-platform.patch
new file mode 100644
index 0000000000000000000000000000000000000000..6175ba9edbb138a20d7bfce2333e392d9fa5b7d4
--- /dev/null
+++ b/debian/patches/0007-demo-Fix-where-am-i-crash-on-32bits-platform.patch
@@ -0,0 +1,54 @@
+From fb3f1b103432d238339d8ae02c533e24133bc85e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Danis?= <frederic.danis@collabora.com>
+Date: Fri, 7 Jan 2022 12:28:06 +0100
+Subject: [PATCH] demo: Fix where-am-i crash on 32bits platform
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+Call to where-am-i on 32bits platform ends up with following error:
+*** stack smashing detected ***: terminated
+
+GTimeVal parameters are glong, which depends on the platform, but
+timestamp returned by geoclue is guint64 for both seconds and useconds.
+Furthermore GTimeVal is marked as deprecated.
+
+As this app only displays time with an accuracy in seconds, we can replace
+g_date_time_new_from_timeval_local() by g_date_time_new_from_unix_local().
+
+Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
+---
+ demo/where-am-i.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/demo/where-am-i.c b/demo/where-am-i.c
+index 5934161..f8f6a43 100644
+--- a/demo/where-am-i.c
++++ b/demo/where-am-i.c
+@@ -84,7 +84,6 @@ print_location (GClueSimple *simple)
+         GClueLocation *location;
+         gdouble altitude, speed, heading;
+         GVariant *timestamp;
+-        GTimeVal tv = { 0 };
+         const char *desc;
+ 
+         location = gclue_simple_get_location (simple);
+@@ -112,10 +111,11 @@ print_location (GClueSimple *simple)
+         if (timestamp) {
+                 GDateTime *date_time;
+                 gchar *str;
++                guint64 secs;
+ 
+-                g_variant_get (timestamp, "(tt)", &tv.tv_sec, &tv.tv_usec);
++                g_variant_get (timestamp, "(tt)", &secs, NULL);
+ 
+-                date_time = g_date_time_new_from_timeval_local (&tv);
++                date_time = g_date_time_new_from_unix_local (secs);
+                 str = g_date_time_format
+                       (date_time,
+                        "%c (%s seconds since the Epoch)");
+-- 
+2.25.1
+
diff --git a/debian/patches/series b/debian/patches/series
index ec781600477aed2e89baa7351e70c8340000ef15..4aaf17a09b838172bf89cd9494118f538bb26c1c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
 0004-service-Stop-the-client-for-system-applications-when.patch
 fix-nowifi-query.patch
 0006-client-info-Support-cgroup-v2.patch
+0007-demo-Fix-where-am-i-crash-on-32bits-platform.patch