diff --git a/pd/src/m_binbuf.c b/pd/src/m_binbuf.c
index 2e2edcc544102a4748c167b36022a013088dee64..8466e3ae2e74095187af438abd741e01bbbe000e 100644
--- a/pd/src/m_binbuf.c
+++ b/pd/src/m_binbuf.c
@@ -797,21 +797,13 @@ void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv)
                     //    error("message stack overflow");
                     //    goto broken;
                     //}
-					if (0<argc) {
-		                for (i=0; i<argc; i++)
-		                {
-							//fprintf(stderr, "@: %d %d\n", i, maxnargs);
-		                    *msp++=argv[i];
-		                    nargs++;
-							ac--;
-		                }
-					} else {
+	                for (i=0; i<argc; i++)
+	                {
 						//fprintf(stderr, "@: %d %d\n", i, maxnargs);
-						// we use this when $@ has no arguments (e.g. receives a bang) and convert it to 0 just like we do with $n that has no argument associated with it
-	                    SETFLOAT(msp, 0);
+	                    *msp++=argv[i];
 	                    nargs++;
-						msp++;
-					}
+						ac--;
+	                }
                     msp--;
                     nargs--;
 					//fprintf(stderr,"x->b_n=%d ac=%d maxnargs=%d nargs=%d argc=%d\n", x->b_n, ac, maxnargs, nargs, argc);