diff --git a/debuild/debian/control b/debuild/debian/control
index 866793f807577e540093076bfe283d8e6b43172f..c4563d759a3991640c523e918049b1f7b18bc394 100644
--- a/debuild/debian/control
+++ b/debuild/debian/control
@@ -2,7 +2,7 @@ Source: purr-data
 Section: sound
 Priority: extra
 Maintainer: Albert Graef <aggraef@gmail.com>
-Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, pkg-config, bison, flex, libgtk2.0-dev, libgtk-3-dev, python-dev, dh-python | python-support, flite1-dev, ladspa-sdk, libasound2-dev, libjack-dev, libbluetooth-dev, libcairo2-dev, libgl1-mesa-dev | libgl-dev, libglew1.6-dev | libglew-dev, libgsl-dev | libgsl0-dev, libmagick++-dev, libavifile-0.7-dev, libdc1394-22-dev, libfftw3-dev, libfluidsynth-dev, libftgl-dev, libgmerlin-avdec-dev, libgsm1-dev, libjpeg-dev, liblua5.3-dev | liblua5.2-dev, libmp3lame-dev, libmpeg3-dev, libquicktime-dev, libraw1394-dev, libsmpeg-dev, libspeex-dev, libstk0-dev, libtiff5-dev, libv4l-dev, libdv4-dev, libiec61883-dev, libxv-dev, libxxf86vm-dev, libvorbis-dev, zlib1g-dev (>= 1:1.1.3), rsync, libgconf2-dev, libnss3-dev, libxtst-dev, libxss-dev
+Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool, pkg-config, bison, flex, libgtk2.0-dev, libgtk-3-dev, python2-dev | python-dev, dh-python, flite1-dev, ladspa-sdk, libasound2-dev, libjack-dev, libbluetooth-dev, libcairo2-dev, libgl1-mesa-dev | libgl-dev, libglew1.6-dev | libglew-dev, libgsl-dev | libgsl0-dev, libmagick++-dev, libavifile-0.7-dev, libdc1394-22-dev, libfftw3-dev, libfluidsynth-dev, libftgl-dev, libgmerlin-avdec-dev, libgsm1-dev, libjpeg-dev, liblua5.3-dev | liblua5.2-dev, libmp3lame-dev, libmpeg3-dev, libquicktime-dev, libraw1394-dev, libsmpeg-dev, libspeex-dev, libstk0-dev, libtiff5-dev, libv4l-dev, libdv4-dev, libiec61883-dev, libxv-dev, libxxf86vm-dev, libvorbis-dev, zlib1g-dev (>= 1:1.1.3), rsync, libgconf2-dev, libnss3-dev, libxtst-dev, libxss-dev
 Standards-Version: 3.9.5
 Homepage: https://git.purrdata.net/jwilkes/purr-data
 
diff --git a/debuild/debian/rules b/debuild/debian/rules
index d2d9358221a6996a0a603d6d95437e7ab4384cdb..2f3f245fd447469c79ef886186032362509f0acd 100755
--- a/debuild/debian/rules
+++ b/debuild/debian/rules
@@ -30,6 +30,10 @@ override_dh_auto_configure:
 
 override_dh_auto_clean:
 
+# Need to disable this, 'make check' currently fails, probably due to our
+# meddling with the directory layout, executable names, etc.
+override_dh_auto_test:
+
 override_dh_auto_build:
 # Copy the nw.js sources to where purr-data wants them.
 	tar -xf debian/nwjs/$(nwjspkg)-$(arch).tar.gz && rm -rf pd/nw/nw && mv $(nwjspkg)-$(arch) pd/nw/nw
diff --git a/l2ork_addons/tar_em_up.sh b/l2ork_addons/tar_em_up.sh
index 25d82f2d45051083373db30ca5e3f8b5fc7e4dfb..675d083e3798b76facf0fa5d6b3479051153002b 100755
--- a/l2ork_addons/tar_em_up.sh
+++ b/l2ork_addons/tar_em_up.sh
@@ -106,6 +106,7 @@ do case $Option in
 done
 
 inst_dir=${inst_dir:-/usr/local}
+dpkg=${dpkg:-/usr/bin/dpkg-deb}
 
 # configure a light build if requested
 if [ $light -gt 0 ]; then
@@ -156,9 +157,9 @@ fi
 
 # Automagically disable Debian packaging when the Debian packaging tools are
 # not available.
-if test $deb -gt 0 && test $pkg -gt 0 && ! test -x /usr/bin/dpkg-deb; then
+if test $deb -gt 0 && test $pkg -gt 0 && ! test -x "$dpkg"; then
     pkg=0;
-    echo "Debian toolchain unavailable, Debian packaging disabled"
+    echo "Debian toolchain unavailable, skipping Debian packaging"
 fi
 
 # Fetch the nw.js binary if we haven't already. We want to fetch it even
diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c
index 9883e7a7a92989870498fd0812280de507089373..f504277c35c0e17dd61f49489044faf8ca7aaac6 100644
--- a/pd/src/g_canvas.c
+++ b/pd/src/g_canvas.c
@@ -43,6 +43,19 @@ struct _canvasenvironment
     t_namelist *ce_path;   /* search path */
 };
 
+t_canvasenvironment *dummy_canvas_env(const char *dir)
+{
+ static t_canvasenvironment dummy_env = {
+   .ce_dir = NULL,
+   .ce_argc = 0,
+   .ce_argv = NULL,
+   .ce_dollarzero = 0,
+   .ce_path = NULL
+ };
+ dummy_env.ce_dir = gensym(dir);
+ return &dummy_env;
+}
+
 #define GLIST_DEFCANVASWIDTH 450
 #define GLIST_DEFCANVASHEIGHT 300
 
@@ -882,7 +895,7 @@ static void canvas_dirty_deliver_packed(t_canvas *x, t_dirty_broadcast_data *dat
     canvas_dirty_common(x, data->mess);
 }
 
-static int canvas_dirty_broadcast_packed(t_canvas *x, t_dirty_broadcast_data *data);
+static void canvas_dirty_broadcast_packed(t_canvas *x, t_dirty_broadcast_data *data);
 
 static int canvas_dirty_broadcast(t_canvas *x, t_symbol *name, t_symbol *dir, int mess)
 {
@@ -921,7 +934,7 @@ static int canvas_dirty_broadcast(t_canvas *x, t_symbol *name, t_symbol *dir, in
     return (res);
 }
 
-static int canvas_dirty_broadcast_packed(t_canvas *x, t_dirty_broadcast_data *data)
+static void canvas_dirty_broadcast_packed(t_canvas *x, t_dirty_broadcast_data *data)
 {
     *data->res = canvas_dirty_broadcast(x, data->name, data->dir, data->mess);
 }
diff --git a/pd/src/g_canvas.h b/pd/src/g_canvas.h
index 23c088b5739c6ec9ffbc9f00e36d842adee696f1..9d1561421382c5d9e0b76b83b3110853046095f9 100644
--- a/pd/src/g_canvas.h
+++ b/pd/src/g_canvas.h
@@ -76,6 +76,8 @@ EXTERN_STRUCT _tscalar;
 EXTERN_STRUCT _canvasenvironment;
 #define t_canvasenvironment struct _canvasenvironment 
 
+extern t_canvasenvironment *dummy_canvas_env(const char *dir);
+
 EXTERN_STRUCT _fielddesc;
 #define t_fielddesc struct _fielddesc
 
diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index cd2ba97cc572fe768e6bc07e7d53b5687836ce7a..09432e186bf9ab6a84d89d5d347babb1bcaa29ca 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -2477,7 +2477,7 @@ static void abstracthandler_callback(t_abstracthandler *x, t_symbol *s)
     /* save the subpatch into a separated pd file */
     t_atom at[3];
     SETSYMBOL(at, gensym(filename)); SETSYMBOL(at+1, gensym(dir)); SETFLOAT(at+2, 0.f);
-    x->tarjet->gl_env = 0xF1A6; /* gl_env is set to non-zero in order to save the subcanvas as a root canvas */
+    x->tarjet->gl_env = dummy_canvas_env(dir); /* gl_env is set to non-zero in order to save the subcanvas as a root canvas */
     typedmess(&x->tarjet->gl_pd, gensym("savetofile"), 3, at);
     x->tarjet->gl_env = 0;
 
diff --git a/pd/src/m_pd.h b/pd/src/m_pd.h
index fa9b4fe7d163787bab82aad7395c28997358fdeb..ab11595340cf552c5f5c96c1c3e2907f2cbb9ea4 100644
--- a/pd/src/m_pd.h
+++ b/pd/src/m_pd.h
@@ -14,7 +14,7 @@ extern "C" {
 #define PD_MINOR_VERSION 48
 #define PD_BUGFIX_VERSION 0
 #define PD_TEST_VERSION ""
-#define PD_L2ORK_VERSION "2.14.1"
+#define PD_L2ORK_VERSION "2.14.2"
 #define PDL2ORK
 extern int pd_compatibilitylevel;   /* e.g., 43 for pd 0.43 compatibility */