diff --git a/CHANGES b/CHANGES
index 4554fe2..e1a3490 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+Changes with APR-util 0.9.5
+
 Changes with APR-util 0.9.4
 
   *) Changed apr_bucket_alloc_create() so that it uses the allocator
diff --git a/aprutil.dsp b/aprutil.dsp
index d415a51..1baa27e 100644
--- a/aprutil.dsp
+++ b/aprutil.dsp
@@ -387,7 +387,7 @@
 # Begin Custom Build - Creating apu_want.h from apu_want.hw
 InputPath=.\include\apu_want.hw
 
-".\include\apu.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+".\include\apu_want.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
 	type .\include\apu_want.hw > .\include\apu_want.h
 
 # End Custom Build
diff --git a/include/apu_version.h b/include/apu_version.h
index e16d264..1b16987 100644
--- a/include/apu_version.h
+++ b/include/apu_version.h
@@ -101,7 +101,7 @@
 #define APU_MINOR_VERSION       9
 
 /** patch level */
-#define APU_PATCH_VERSION       4
+#define APU_PATCH_VERSION       5
 
 /** 
  *  This symbol is defined for internal, "development" copies of APU. This
diff --git a/misc/apr_reslist.c b/misc/apr_reslist.c
index abef72f..a22f0d9 100644
--- a/misc/apr_reslist.c
+++ b/misc/apr_reslist.c
@@ -286,7 +286,7 @@
 
     /* Do some sanity checks so we don't thrash around in the
      * maintenance routine later. */
-    if (min >= smax || min >= hmax || smax > hmax || ttl < 0) {
+    if (min > smax || min > hmax || smax > hmax || ttl < 0) {
         return APR_EINVAL;
     }
 
@@ -368,6 +368,12 @@
      * a resource to fill the slot and use it. */
     else {
         rv = create_resource(reslist, &res);
+
+        if (rv != APR_SUCCESS) {
+           apr_thread_mutex_unlock(reslist->listlock);
+           return rv;
+        }
+
         reslist->ntotal++;
         *resource = res->opaque;
         free_container(reslist, res);
