diff --git a/usr/lib/hwsupport/trim-devices.sh b/usr/lib/hwsupport/trim-devices.sh
index 84897df..bd203ab 100755
--- a/usr/lib/hwsupport/trim-devices.sh
+++ b/usr/lib/hwsupport/trim-devices.sh
@@ -78,12 +78,23 @@ function is_known_bad_device()
     return;
 }
 
+# If fstrim has been disabled by the end-user, do nothing
+if ! systemctl is-enabled fstrim.timer; then
+    echo "fstrim.timer disabled, exiting trim-devices.sh"
+    exit
+fi
+
+# If the upstream fstrim service is currently running, do nothing
+if systemctl is-active fstrim.service; then
+    echo "fstrim.service is currently active, exiting trim-devices.sh"
+    exit
+fi
+
 # In some cases it is unsafe to trim an sdcard. When we detect this case
 # lets just trim the partitions on the internal drive which we know are
 # safe to trim/discard
 if is_known_bad_device; then
     _fstrim /var
-    _fstrim /home
     exit
 fi