Index: lib/nss.c
===================================================================
RCS file: /cvsroot/curl/curl/lib/nss.c,v
retrieving revision 1.49
diff -u -r1.49 nss.c
--- lib/nss.c	28 May 2009 21:32:31 -0000	1.49
+++ lib/nss.c	30 May 2009 09:08:47 -0000
@@ -799,6 +799,11 @@
   if(!nickname)
     return secStatus;
 
+  /* Decrease refcount on previous cert if any */
+  if(connssl->client_cert) {
+      CERT_DestroyCertificate(connssl->client_cert);
+  }
+  
   connssl->client_cert = PK11_FindCertFromNickname(nickname, proto_win);
   if(connssl->client_cert) {
 
@@ -821,7 +826,7 @@
   }
 
   if(secStatus == SECSuccess) {
-    *pRetCert = connssl->client_cert;
+    *pRetCert = CERT_DupCertificate(connssl->client_cert);
     *pRetKey = privKey;
   }
   else {


