diff -Nru isdnutils-3.25+dfsg1/debian/capiutils.postinst isdnutils-3.25+dfsg1/debian/capiutils.postinst
--- isdnutils-3.25+dfsg1/debian/capiutils.postinst	1969-12-31 19:00:00.000000000 -0500
+++ isdnutils-3.25+dfsg1/debian/capiutils.postinst	2013-03-25 23:38:54.000000000 -0400
@@ -0,0 +1,26 @@
+#! /bin/sh
+# postinst script for capiutils
+
+set -e
+
+case "$1" in
+    configure)
+        if [ ! -c /dev/capi ] ; then
+            if [ ! -d /dev/.udev/ ] && [ ! -d /run/udev/ ] ; then
+                cd /dev
+                echo "Note: running MAKEDEV to create CAPI devices in /dev..."
+                /sbin/MAKEDEV capi
+            fi
+        fi
+        ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+        ;;
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+#DEBHELPER#
+exit 0
diff -Nru isdnutils-3.25+dfsg1/debian/changelog isdnutils-3.25+dfsg1/debian/changelog
--- isdnutils-3.25+dfsg1/debian/changelog	2013-03-03 04:36:54.000000000 -0500
+++ isdnutils-3.25+dfsg1/debian/changelog	2013-03-25 23:43:09.000000000 -0400
@@ -1,3 +1,12 @@
+isdnutils (1:3.25+dfsg1-3+nmu2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Re-add MAKEDEV calls to *.postinst and init.d.functions.
+    Closes: #609736.
+    - Many thanks to Christoph Biedl for the patch.
+
+ -- Michael Gilbert <mgilbert@debian.org>  Tue, 26 Mar 2013 03:39:07 +0000
+
 isdnutils (1:3.25+dfsg1-3+nmu1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru isdnutils-3.25+dfsg1/debian/control isdnutils-3.25+dfsg1/debian/control
--- isdnutils-3.25+dfsg1/debian/control	2012-11-30 12:44:05.000000000 -0500
+++ isdnutils-3.25+dfsg1/debian/control	2013-03-25 23:38:54.000000000 -0400
@@ -18,7 +18,7 @@
 Priority: optional
 Architecture: linux-any
 Pre-Depends: debconf (>= 1.2.9) | debconf-2.0
-Depends: ${shlibs:Depends}, lsb-base (>= 1.3-9ubuntu3), ${misc:Depends}
+Depends: ${shlibs:Depends}, lsb-base (>= 1.3-9ubuntu3), makedev, ${misc:Depends}
 Suggests: ipppd, isdnlog, isdnutils-doc, isdnutils-xtools, isdnvboxserver, isdnvboxclient
 Description: ISDN utilities - minimal set
  This package provides the basic set of ISDN utilities needed to make use
@@ -117,7 +117,7 @@
 Package: capiutils
 Architecture: linux-any
 Depends: libcapi20-3 (= ${binary:Version}), ${shlibs:Depends},
- lsb-base (>= 1.3-9ubuntu3), ${misc:Depends}
+ lsb-base (>= 1.3-9ubuntu3), makedev, ${misc:Depends}
 Section: net
 Description: ISDN utilities - tools for CAPI-capable cards
  Some ISDN cards (notably the AVM active cards, and the AVM passive cards
diff -Nru isdnutils-3.25+dfsg1/debian/init.d.functions isdnutils-3.25+dfsg1/debian/init.d.functions
--- isdnutils-3.25+dfsg1/debian/init.d.functions	2012-11-19 16:59:40.000000000 -0500
+++ isdnutils-3.25+dfsg1/debian/init.d.functions	2013-03-25 23:38:54.000000000 -0400
@@ -80,15 +80,26 @@
     if $isdncards_unchecked; then
 	isdncards_unchecked=false
 
-	# see discussion in bug 609736 regarding use of if and ln in the next three lines
-	if [ ! -e /dev/isdnctrl -a -e /dev/isdnctrl0 ]; then
-		ln -sf /dev/isdnctrl0 /dev/isdnctrl
-	fi
-
 	if [ -e /dev/isdninfo ]; then
 		ISDNINFO=/dev/isdninfo
 	elif [ -e /dev/isdn/isdninfo ]; then
 		ISDNINFO=/dev/isdn/isdninfo
+	elif [ -d /dev/.udev/ ] || [ -d /run/udev/ ] ; then
+		# udev is running
+		old_pwd="$(pwd)"
+		cd /dev
+		WRITE_ON_UDEV=1 /sbin/MAKEDEV isdnmodem isdnbri dcbri
+		cd "$old_pwd"
+		if [ -e /dev/isdninfo ]; then
+			ISDNINFO=/dev/isdninfo
+		elif [ -e /dev/isdn/isdninfo ]; then
+			ISDNINFO=/dev/isdn/isdninfo
+		fi
+        fi
+
+	# see discussion in bug 609736 regarding use of if and ln in the next three lines
+	if [ ! -e /dev/isdnctrl -a -e /dev/isdnctrl0 ]; then
+		ln -sf /dev/isdnctrl0 /dev/isdnctrl
 	fi
 
         if [ -z "$ISDNINFO" ]; then
@@ -266,6 +277,15 @@
 	    extraopts='master'
 	fi
 	for device in $master $slaves; do
+            # if the device doesn't exist in /dev nor in /dev/isdn,
+            # then this is (obviously?) not a devfs system, thus
+            # the device needs to be created.
+            if [ ! -c /dev/$device -a ! -c /dev/isdn/$device ]; then
+		cd /dev
+		/bin/echo -e " (creating /dev/$device)\c"
+		WRITE_ON_UDEV=1 /sbin/MAKEDEV $device || true
+		cd /etc/isdn
+	    fi
 	    if [ `expr "$extraopts" : 'slave'` -eq 5 ]; then
 		device=${master}+${device##????}
 		# slaves can't be added if the master interface
diff -Nru isdnutils-3.25+dfsg1/debian/ipppd.postinst isdnutils-3.25+dfsg1/debian/ipppd.postinst
--- isdnutils-3.25+dfsg1/debian/ipppd.postinst	2012-11-19 16:59:40.000000000 -0500
+++ isdnutils-3.25+dfsg1/debian/ipppd.postinst	2013-03-25 23:38:54.000000000 -0400
@@ -19,6 +19,18 @@
 
 case "$1" in
     configure)
+	old_pwd="$(pwd)"
+	if [ ! -c /dev/ttyI0 ]; then
+		cd /dev
+		echo "Note: running MAKEDEV to create ISDN devices in /dev..."
+		WRITE_ON_UDEV=1 /sbin/MAKEDEV isdn-tty isdn-io isdn-ippp
+	fi
+	# FIXME BUG! MAKEDEV should create the link by itself
+	if [ ! -d /dev/.udev/ ] && [ ! -d /run/udev ] ; then
+	    rm -f isdnctrl
+	    ln -s isdnctrl0 isdnctrl
+	fi
+	cd "$old_pwd"
         forcerestart=false
         RET=ippp0
         db_get ipppd/whichif || true
diff -Nru isdnutils-3.25+dfsg1/debian/isdnvboxserver.postinst isdnutils-3.25+dfsg1/debian/isdnvboxserver.postinst
--- isdnutils-3.25+dfsg1/debian/isdnvboxserver.postinst	2012-11-19 16:59:40.000000000 -0500
+++ isdnutils-3.25+dfsg1/debian/isdnvboxserver.postinst	2013-03-25 23:38:54.000000000 -0400
@@ -13,6 +13,12 @@
 if [ ! -c $DEVDIR/ttyI6 ]; then
     if grep 'type devfs' /proc/mounts >/dev/null; then
         DEVDIR=/dev/isdn
+    else
+        if [ ! -c /dev/ttyI6 ]; then
+            cd /dev
+            echo "Note: running MAKEDEV to create ISDN tty devices in /dev..."
+            WRITE_ON_UDEV=1 /sbin/MAKEDEV isdn-tty
+        fi
     fi
 fi
 
