diff --git a/debian/changelog b/debian/changelog
index 841104b..d411e9d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+freeglut (2.6.0-4) unstable; urgency=low
+
+  [ Anton Gladky ]
+  * [8100d04] [861ed2a] Install dbg-file into correct place. (Closes: #681513)
+
+  [ Sebastian Ramacher ]
+  * [4083802] Fix buffer overflow. (Closes: #430160)
+
+ -- Anton Gladky <gladky.anton@gmail.com>  Fri, 13 Jul 2012 23:52:39 +0200
+
 freeglut (2.6.0-3) unstable; urgency=low
 
   [ Anton Gladky ]
diff --git a/debian/freeglut3-dbg.install b/debian/freeglut3-dbg.install
deleted file mode 100644
index 3484ddd..0000000
--- a/debian/freeglut3-dbg.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/debug/*
diff --git a/debian/patches/07_HOME-fixed-buffer.patch b/debian/patches/07_HOME-fixed-buffer.patch
new file mode 100644
index 0000000..f789111
--- /dev/null
+++ b/debian/patches/07_HOME-fixed-buffer.patch
@@ -0,0 +1,37 @@
+Description: Fixes buffer overflow with the handling of $HOME
+Author: Sebastian Ramacher <s.ramacher@gmx.at>
+Reviewed-by: Anton Gladky <gladky.anton@gmail.com>
+Bug-Debian: http://bugs.debian.org/430160
+Last-Update: 2012-07-13
+
+--- a/src/freeglut_joystick.c
++++ b/src/freeglut_joystick.c
+@@ -1338,7 +1338,8 @@
+     if( joy->os->is_analog )
+     {
+         FILE *joyfile;
+-        char joyfname[ 1024 ];
++        char* joyfname = NULL;
++        const char* home = NULL;
+         int noargs, in_no_axes;
+ 
+         float axes [ _JS_MAX_AXES ];
+@@ -1352,9 +1353,17 @@
+         if( joy->error )
+             return;
+ 
+-        snprintf( joyfname, sizeof(joyfname), "%s/.joy%drc", getenv( "HOME" ), joy->id );
++        home = getenv( "HOME" );
++        joy->error =( home == NULL );
++        if( joy->error )
++            return;
++
++        joy->error =( asprintf( &joyfname, "%s/.joy%drc", home, joy->id ) == -1 );
++        if( joy->error )
++            return
+ 
+         joyfile = fopen( joyfname, "r" );
++        free( joyfname );
+         joy->error =( joyfile == NULL );
+         if( joy->error )
+             return;
diff --git a/debian/patches/series b/debian/patches/series
index 8e9c248..f1312f9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
 04_ld_no_add_needed.diff
 05_gold.diff
 06_fix_FTBFS_kFreeBSD.patch
+07_HOME-fixed-buffer.patch
diff --git a/debian/rules b/debian/rules
index 8d64a4b..db4d9be 100755
--- a/debian/rules
+++ b/debian/rules
@@ -21,6 +21,7 @@ override_dh_auto_configure:
 
 override_dh_auto_install-arch:
 	dh_auto_install -a -- DESTDIR=$(CURDIR)/debian/tmp
-	mkdir $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/debug/
-	cp $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libglut.so.3.9.0 $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/debug/
 	find . -name '*.la' -print0 | xargs -0 rm -f
+
+override_dh_strip:
+	dh_strip --dbg-package=freeglut3-dbg
