diff --git a/src/update.c b/src/update.c
index c14d6d44..48e2b94f 100644
--- a/src/update.c
+++ b/src/update.c
@@ -431,7 +431,7 @@ int do_op(const PROGRAMMER *pgm, const AVRPART *p, UPDATE *upd, enum updateflags
   AVRMEM *mem;
   int size;
   int rc;
-  Filestats fs;
+  Filestats fs, fs_patched;
 
   mem = avr_locate_mem(p, upd->memtype);
   if (mem == NULL) {
@@ -506,11 +506,10 @@ int do_op(const PROGRAMMER *pgm, const AVRPART *p, UPDATE *upd, enum updateflags
       msg_info("\n");
     }
 
-    // Patch input if for flash, eg, for vector bootloaders?
+    // Patch flash input, eg, for vector bootloaders
     if(pgm->flash_readhook) {
       AVRMEM *mem = avr_locate_mem(p, upd->memtype);
       if(mem && !strcmp(mem->desc, "flash")) {
-        Filestats fs_patched;
         rc = pgm->flash_readhook(pgm, p, mem, upd->filename, rc);
         if (rc < 0) {
           pmsg_notice("readhook for file %s failed\n", update_inname(upd->filename));
@@ -518,9 +517,23 @@ int do_op(const PROGRAMMER *pgm, const AVRPART *p, UPDATE *upd, enum updateflags
         }
         if(memstats(p, upd->memtype, rc, &fs_patched) < 0)
           return LIBAVRDUDE_GENERAL_FAILURE;
-        if(memcmp(&fs_patched, &fs, sizeof fs))
-          imsg_info("and patching flash input for device%s\n",
+        if(memcmp(&fs_patched, &fs, sizeof fs)) {
+          pmsg_info("preparing flash input for device%s\n",
             pgm->prog_modes & PM_SPM? " bootloader": "");
+            imsg_notice2("with %d byte%s in %d section%s within %s\n",
+              fs_patched.nbytes, update_plural(fs_patched.nbytes),
+              fs_patched.nsections, update_plural(fs_patched.nsections),
+              update_interval(fs_patched.firstaddr, fs_patched.lastaddr));
+            if(mem->page_size > 1) {
+              imsg_notice2("using %d page%s and %d pad byte%s",
+                fs_patched.npages, update_plural(fs_patched.npages),
+                fs_patched.nfill, update_plural(fs_patched.nfill));
+              if(fs_patched.ntrailing)
+                msg_notice2(", and %d trailing 0xff byte%s",
+                  fs_patched.ntrailing, update_plural(fs_patched.ntrailing));
+              msg_notice2("\n");
+            }
+        }
       }
     }
     size = rc;