diff --git a/debian/changelog b/debian/changelog
index baf61c42dd25bd75dea56797d23ef39286047340..a06216746a626a3f62e1c539c466491f5b2532aa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ python-defaults (2.7.3-3) UNRELEASED; urgency=low
       (closes: #686358)
     - ignore /usr/bin/python3 shebangs in all packages, not just in
       python3-* ones
+    - generates correct "python (<< 2.X)" dependencies for packages with
+      private Python extensions (typo fixed)
     - TODO: parse interpreter version number from --shebang option and add
       apropriate dependency/rt* script arguments
   * pyversions.py: fix parsing DEBPYTHON_SUPPORTED env. variable
diff --git a/debpython/depends.py b/debpython/depends.py
index 7bc1228f7f2a2c8e657d45e6e3afc8fd6292ef39..8324e68268ec6ed53bc8b6606e497cee1ee118c4 100644
--- a/debpython/depends.py
+++ b/debpython/depends.py
@@ -149,7 +149,8 @@ class Dependencies(object):
                         if vr[0]:  # minimum version specified
                             self.depend("python (>= %s)" % vrepr(vr[0]))
                         if vr[1]:  # maximum version specified
-                            self.depend("python (<< %s)" % vrepr(vr[1] + 1))
+                            self.depend("python (<< %d.%d)" % \
+                                       (vr[1][0], vr[1][1] + 1))
 
                 for pattern in options.regexpr or []:
                     args += " -X '%s'" % pattern.replace("'", r"'\''")