diff --git a/glnx-fdio.c b/glnx-fdio.c
index 6ae6ec7e327f3cced32466d9513341bfd3600218..e537a9bc92f9c19ced7b75e2d24cfdcdfeb72146 100644
--- a/glnx-fdio.c
+++ b/glnx-fdio.c
@@ -826,7 +826,7 @@ glnx_regfile_copy_bytes (int fdf, int fdt, off_t max_bytes)
                   have_cfr = 0;
                   try_cfr = false;
                 }
-              else if (errno == EXDEV)
+              else if (G_IN_SET (errno, EXDEV, EOPNOTSUPP))
                 /* We won't try cfr again for this run, but let's be
                  * conservative and not mark it as available/unavailable until
                  * we know for sure.