diff --git a/meta-oe/recipes-support/fuse/fuse3/run-ptest b/meta-oe/recipes-support/fuse/fuse3/run-ptest
index b8295bbce9..0835402f0a 100644
--- a/meta-oe/recipes-support/fuse/fuse3/run-ptest
+++ b/meta-oe/recipes-support/fuse/fuse3/run-ptest
@@ -7,6 +7,10 @@
 # so print it as is and add the ptest result line after it.
 cd "$(dirname "$0")"

+# The mount/blkdev-fsname-* tests attach a loop device, and the loop driver
+# is not loaded on demand when /dev/loop-control has not been created yet.
+modprobe -q loop
+
 # Some test filesystems mirror the real tree but cannot follow symlinks, so
 # keep the run directory off paths like /var/tmp, which is a symlink to
 # volatile/tmp. run-tests.py creates the directory and removes it when done.
diff --git a/meta-oe/recipes-support/fuse/fuse3_3.18.3.bb b/meta-oe/recipes-support/fuse/fuse3_3.18.3.bb
index 1e4b86a47a..172dd9e69d 100644
--- a/meta-oe/recipes-support/fuse/fuse3_3.18.3.bb
+++ b/meta-oe/recipes-support/fuse/fuse3_3.18.3.bb
@@ -51,7 +51,7 @@ RDEPENDS:${PN}-ptest += " \
     file \
     util-linux-losetup \
 "
-RRECOMMENDS:${PN}-ptest += " kernel-module-cuse"
+RRECOMMENDS:${PN}-ptest += " kernel-module-cuse kernel-module-loop"

 do_install_ptest() {
     install -d ${D}${PTEST_PATH}/test
