--- /dev/null
+--- a/src/pycurl.c
++++ a/src/pycurl.c
+@@ -1452,6 +1452,7 @@ do_curl_reset(CurlObject *self)
+ }
+ }
+
++ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
+--- a/tests/test_internals.py
++++ a/tests/test_internals.py
+@@ -245,6 +245,11 @@ if 1 and gc:
+ if opts.verbose >= 1:
+ print "Tracked objects:", len(gc.get_objects())
+
++if 1:
++ # Ensure that the refcounting error in "reset" is fixed:
++ for i in xrange(100000):
++ c = Curl()
++ c.reset()
+
+ # /***********************************************************************
+ # // done
--- /dev/null
+--- setup.py~ 2008-04-22 17:00:45.000000000 +0300
++++ setup.py 2008-07-03 21:53:36.000000000 +0300
+@@ -97,8 +97,7 @@
+ else:
+ extra_compile_args.append(e)
+ libs = split_quoted(
+- os.popen("'%s' --libs" % CURL_CONFIG).read()+\
+- os.popen("'%s' --static-libs" % CURL_CONFIG).read())
++ os.popen("'%s' --libs" % CURL_CONFIG).read())
+ for e in libs:
+ if e[:2] == "-l":
+ libraries.append(e[2:])