diff --git a/debian/changelog b/debian/changelog
index 28e2377838a218987cbaa3e053ad48e177cea3e5..0f7f5b79d1e5f9446c611549c10766d10635593d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,11 @@
 scikit-learn (0.14-1) unstable; urgency=low
 
   * The fresh upstream release
+  * debian/rules
+    - overload dh_auto_clean to call "clean" without -a
+      (see https://github.com/scikit-learn/scikit-learn/issues/2351)
 
- -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 07 Aug 2013 19:30:19 -0400
+ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 07 Aug 2013 20:02:44 -0400
 
 scikit-learn (0.14~a1+git20-gc9ba2c3-1) UNRELEASED; urgency=low
 
diff --git a/debian/rules b/debian/rules
index f9866e156f1eba173be7ceff02d9b1899606f02d..8956c471cf6ec6384d32a1c8144064ab9f81d0eb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -21,6 +21,12 @@ override_dh_clean:
 	rm -rf build doc/_build doc/auto_examples *-stamp *.egg-info sklearn/datasets/__config__.py
 	dh_clean
 
+# overload call to setup.py due to custom clean action:
+# https://github.com/scikit-learn/scikit-learn/issues/2351
+override_dh_auto_clean:
+	: # still call a standard cleaner if there is more to it
+	-dh_auto_clean
+	python setup.py clean
 
 override_dh_auto_install: ${PYVERS:%=python-install%} ${PYVERS:%=python-test%}
 # Per Python version logic -- install, test, move .so into -lib