diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c
index 9f60d2bdf691a10229269f94650eb4eb86d89016..fa1447ff8906bca79c2a6df747f33c778c1e3d96 100644
--- a/pd/src/g_canvas.c
+++ b/pd/src/g_canvas.c
@@ -2237,7 +2237,14 @@ void canvas_declare(t_canvas *x, t_symbol *s, int argc, t_atom *argv)
             canvas_stdlib(e, atom_getsymbolarg(i+1, argc, argv)->s_name);
             i++;
         }
-        else post("declare: %s: unknown declaration", flag);
+        // ag: Handle the case of an unrecognized option argument (presumably
+        // a float).
+        else if (!*flag) {
+            post("declare: %g: unknown argument", atom_getfloatarg(i, argc, argv));
+        }
+        else {
+            post("declare: %s: unknown declaration", flag);
+        }
     }
 }