diff --git a/CImg.h b/CImg.h
index 0ebeb0329c6fdc0d49e6fdf5c531a1990124932c..5826c91b63b40d55cdb8c966bc8781a2ce24fb7a 100644
--- a/CImg.h
+++ b/CImg.h
@@ -60571,17 +60571,21 @@ namespace cimg {
     if (timeout) {
       if (referer)
         cimg_snprintf(command,command._width,"%s -e %s -m %u -f --silent --compressed -o \"%s\" \"%s\"",
-                      cimg::curl_path(),referer,timeout,filename_local,url);
+                      cimg::curl_path(),referer,timeout,filename_local,
+                      CImg<char>::string(url)._system_strescape().data());
       else
         cimg_snprintf(command,command._width,"%s -m %u -f --silent --compressed -o \"%s\" \"%s\"",
-                      cimg::curl_path(),timeout,filename_local,url);
+                      cimg::curl_path(),timeout,filename_local,
+                      CImg<char>::string(url)._system_strescape().data());
     } else {
       if (referer)
         cimg_snprintf(command,command._width,"%s -e %s -f --silent --compressed -o \"%s\" \"%s\"",
-                      cimg::curl_path(),referer,filename_local,url);
+                      cimg::curl_path(),referer,filename_local,
+                      CImg<char>::string(url)._system_strescape().data());
       else
         cimg_snprintf(command,command._width,"%s -f --silent --compressed -o \"%s\" \"%s\"",
-                      cimg::curl_path(),filename_local,url);
+                      cimg::curl_path(),filename_local,
+                      CImg<char>::string(url)._system_strescape().data());
     }
     cimg::system(command);
 
@@ -60591,17 +60595,21 @@ namespace cimg {
       if (timeout) {
         if (referer)
           cimg_snprintf(command,command._width,"%s --referer=%s -T %u -q -r -l 0 --no-cache -O \"%s\" \"%s\"",
-                        cimg::wget_path(),referer,timeout,filename_local,url);
+                        cimg::wget_path(),referer,timeout,filename_local,
+                        CImg<char>::string(url)._system_strescape().data());
         else
           cimg_snprintf(command,command._width,"%s -T %u -q -r -l 0 --no-cache -O \"%s\" \"%s\"",
-                        cimg::wget_path(),timeout,filename_local,url);
+                        cimg::wget_path(),timeout,filename_local,
+                        CImg<char>::string(url)._system_strescape().data());
       } else {
         if (referer)
           cimg_snprintf(command,command._width,"%s --referer=%s -q -r -l 0 --no-cache -O \"%s\" \"%s\"",
-                        cimg::wget_path(),referer,filename_local,url);
+                        cimg::wget_path(),referer,filename_local,
+                        CImg<char>::string(url)._system_strescape().data());
         else
           cimg_snprintf(command,command._width,"%s -q -r -l 0 --no-cache -O \"%s\" \"%s\"",
-                        cimg::wget_path(),filename_local,url);
+                        cimg::wget_path(),filename_local,
+                        CImg<char>::string(url)._system_strescape().data());
       }
       cimg::system(command);