diff --git a/scripts/external-tests.pd b/scripts/external-tests.pd
index 45b9bc1afa5043a70555d40b229a2bf6604fa336..cc20b4c5f84c6e419f22e5f5f968e6e6a3145d4e 100644
--- a/scripts/external-tests.pd
+++ b/scripts/external-tests.pd
@@ -1,4 +1,4 @@
-#N canvas 2 53 659 639 12;
+#N canvas 3 53 659 639 12;
 #X obj 61 34 loadbang;
 #N canvas 107 123 756 233 load_hcs/folder_list 0;
 #X obj 357 47 inlet;
@@ -712,21 +712,62 @@ nameclash is in the current library we're testing then we ignore it.
 #X obj 371 313 s \$0-last-objectmaker-methodspace-length;
 #X text 304 85 \$0-last-objectmaker-methodspace-length;
 #X text 304 105 \$0-ext;
-#N canvas 454 133 450 323 set_\$0-libdir 0;
+#N canvas 1 53 554 595 set_\$0-libdir 0;
 #X obj 49 48 inlet;
-#X obj 49 137 pdinfo;
+#X obj 49 317 pdinfo;
 #X obj 49 78 b;
-#X msg 49 108 libdir;
-#X obj 49 198 outlet;
+#X msg 49 288 libdir;
+#X obj 49 567 outlet;
 #X text 97 48 get the directory where extra/ and doc/ live;
-#X obj 49 162 trigger anything anything;
-#X obj 221 198 s \$0-libdir;
+#X obj 49 541 trigger anything anything;
+#X obj 221 567 s \$0-libdir;
+#X obj 49 131 pdinfo;
+#X msg 49 106 platform;
+#X obj 49 156 select darwin;
+#X msg 49 181 1;
+#X obj 137 181 b;
+#X msg 137 206 0;
+#X obj 49 246 select 0 1;
+#X text 171 160 Unfortunately Pd on OSX has a bug that causes the;
+#X text 171 180 libdir to not be normalized-- e.g. \, it can have;
+#X text 171 200 "foo/../bar" within the path. This breaks our;
+#X text 171 220 attempt to create objects with absolute paths. So;
+#X text 171 240 we instead use the Pd executable dir and shave off
+;
+#X text 171 260 the "/bin" at the end...;
+#X obj 119 317 pdinfo;
+#X msg 119 288 libdir;
+#X obj 119 342 list fromsymbol;
+#X obj 119 367 t a a;
+#X obj 151 398 list length;
+#X obj 151 423 - 3;
+#X obj 119 452 list split;
+#X obj 119 477 list tosymbol;
+#X text 245 414 <- filter out "/ b i n";
 #X connect 0 0 2 0;
 #X connect 1 0 6 0;
-#X connect 2 0 3 0;
+#X connect 2 0 9 0;
 #X connect 3 0 1 0;
 #X connect 6 0 4 0;
 #X connect 6 1 7 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 11 0 14 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 3 0;
+#X connect 14 1 22 0;
+#X connect 21 0 23 0;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 27 0;
+#X connect 24 1 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 27 1;
+#X connect 27 0 28 0;
+#X connect 28 0 6 0;
 #X restore 61 66 pd set_\$0-libdir;
 #N canvas 246 217 382 392 set_\$0-current_libdir 0;
 #X obj 67 30 inlet;