--- a/packages/xpce/src/ker/goodies.c
+++ b/packages/xpce/src/ker/goodies.c
@@ -844,6 +844,8 @@
 #if defined(HAVE_VSSCANF) && defined(HAVE_CAST_VA_LIST)
   ar = vsscanf(str, fmt, (va_list) ptrs);
 #else
+#pragma GCC diagnostic push
+#pragma GCC diagnostic warning "-Wformat-security"
   switch(argn)
   { case 0:	ar = sscanf(str, fmt); break;
     case 1:	ar = sscanf(str, fmt, ptrs[0]); break;
@@ -940,6 +942,7 @@
     default:	errorPce(NIL, NAME_tooManyArguments);
 		fail;
   }
+#pragma GCC diagnostic pop
 #endif /*HAVE_VSSCANF*/
 
   DEBUG(NAME_scan, Cprintf("ar = %d\n", argn));
