diff --git a/scripts/regression_tests.pd b/scripts/regression_tests.pd
index 60d0c36c3c8deccd9f50d4f3bc56fb94d8de8968..640fb378515c11e66ed68a894a7caa15dcf47554 100644
--- a/scripts/regression_tests.pd
+++ b/scripts/regression_tests.pd
@@ -1,4 +1,4 @@
-#N canvas 11 166 749 571 12;
+#N canvas 126 96 749 571 12;
 #X obj 465 281 r \$0-result;
 #X obj 212 239 bng 31 250 50 0 empty empty Run_all 39 13 0 12 -262144
 -1 -1;
@@ -51,6 +51,7 @@ is handy for some binbuf tests.;
 #X msg 127 146 all tests succeeded.;
 #X obj 127 172 print Done;
 #X obj 198 1701 rtest wrap~_compatibility_bug;
+#X obj 198 1756 rtest select_bang;
 #X connect 0 0 27 0;
 #X connect 1 0 4 0;
 #X connect 2 0 42 0;
@@ -87,3 +88,4 @@ is handy for some binbuf tests.;
 #X connect 42 2 4 0;
 #X connect 42 3 3 0;
 #X connect 43 0 44 0;
+#X connect 45 0 46 0;
diff --git a/scripts/regression_tests/select_bang.pd b/scripts/regression_tests/select_bang.pd
new file mode 100644
index 0000000000000000000000000000000000000000..01f40b34af1466d9ae628224b92a08659f26c709
--- /dev/null
+++ b/scripts/regression_tests/select_bang.pd
@@ -0,0 +1,67 @@
+#N canvas 52 178 1182 741 12;
+#X obj 100 33 inlet;
+#X msg 307 359 0;
+#X obj 101 566 outlet;
+#X obj 176 131 unpost;
+#X obj 307 329 select bang;
+#X obj 151 290 list;
+#X obj 342 101 unpost;
+#X obj 294 133 list;
+#X obj 294 162 list length;
+#X obj 294 191 != 0;
+#X obj 294 223 list append right inlet of select should not accept
+"bang" message;
+#X obj 151 319 list length;
+#X obj 151 348 != 0;
+#X obj 151 497 list append left inlet of select should not accept "bang"
+;
+#X obj 232 413 f;
+#X msg 355 359 0;
+#X msg 403 359 1;
+#X obj 232 285 trigger bang bang bang;
+#X obj 101 497 list;
+#X obj 100 62 trigger bang bang bang bang bang bang bang;
+#X obj 232 443 list append "bang" message to left inlet should not
+trigger output;
+#X obj 856 311 t a;
+#X obj 856 490 t a;
+#X text 508 134 These tests ensure that a "bang" message triggers an
+error on both inlets \, and that a "bang" message doesn't match argument
+bang or produce any output whatsoever.;
+#X text 508 34 For awhile pd-l2ork would match an incoming "bang" message
+against argument "bang". This created an ambiguity because argument
+"bang" is supposed to match "symbol bang". (Besides \, [route bang]
+may be used to match bang messages unambiguously.);
+#X connect 0 0 19 0;
+#X connect 1 0 14 1;
+#X connect 3 0 5 1;
+#X connect 3 1 17 0;
+#X connect 4 0 1 0;
+#X connect 4 1 15 0;
+#X connect 5 0 11 0;
+#X connect 6 0 7 1;
+#X connect 6 1 4 1;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 21 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
+#X connect 14 0 20 0;
+#X connect 15 0 14 1;
+#X connect 16 0 14 1;
+#X connect 17 0 14 0;
+#X connect 17 1 4 0;
+#X connect 17 2 16 0;
+#X connect 18 0 2 0;
+#X connect 19 0 18 0;
+#X connect 19 1 5 0;
+#X connect 19 2 3 0;
+#X connect 19 3 5 1;
+#X connect 19 4 7 0;
+#X connect 19 5 6 0;
+#X connect 19 6 7 1;
+#X connect 20 0 18 1;
+#X connect 21 0 22 0;
+#X connect 22 0 2 0;