diff --git a/lib/nano.js b/lib/nano.js
index e957594..5fcb6d8 100644
--- a/lib/nano.js
+++ b/lib/nano.js
@@ -44,7 +44,7 @@
     var rootPath = path.pathname.replace(/\/?$/, '/..');
 
     if (db) {
-      cfg.url = u.resolve(cfg.url, rootPath).replace(/\/?$/, '');
+      cfg.url = urlResolveFix(cfg.url, rootPath).replace(/\/?$/, '');
       return db;
     }
   }
@@ -89,7 +89,7 @@
 
     // http://wiki.apache.org/couchdb/HTTP_database_API#Naming_and_Addressing
     if (opts.db) {
-      req.uri = u.resolve(req.uri, encodeURIComponent(opts.db));
+      req.uri = urlResolveFix(req.uri, encodeURIComponent(opts.db));
     }
 
     if (opts.multipart) {
@@ -305,7 +305,7 @@
       qs = {};
     }
 
-    qs.db = u.resolve(cfg.url, encodeURIComponent(dbName));
+    qs.db = urlResolveFix(cfg.url, encodeURIComponent(dbName));
 
     if (typeof callback === 'function') {
       return followAgent(qs, callback);
@@ -316,7 +316,7 @@
 
   function _serializeAsUrl(db) {
     if (typeof db === 'object' && db.config && db.config.url && db.config.db) {
-      return u.resolve(db.config.url, encodeURIComponent(db.config.db));
+      return urlResolveFix(db.config.url, encodeURIComponent(db.config.db));
     } else {
       return db;
     }
@@ -748,3 +748,10 @@
  */
 nano.version = require('../package').version;
 nano.path    = __dirname;
+
+function urlResolveFix(couchUrl, dbName) {
+  if (/[^\/]$/.test(couchUrl)) {
+    couchUrl += '/';
+  }
+  return u.resolve(couchUrl, dbName);
+}
