Index: session.c
===================================================================
--- session.c	(revision 15325)
+++ session.c	(working copy)
@@ -667,6 +667,8 @@
 
     if (proxy_host)
       {
+        struct proxy_auth_baton *pab = 0;
+
         ne_session_proxy(sess, proxy_host, proxy_port);
         ne_session_proxy(sess2, proxy_host, proxy_port);
 
@@ -674,14 +676,14 @@
           {
             /* Allocate the baton in pool, not on stack, so it will
                last till whenever Neon needs it. */
-            struct proxy_auth_baton *pab = apr_palloc(pool, sizeof (*pab));
+            pab = apr_palloc(pool, sizeof (*pab));
 
-            pab->username = proxy_username;
+            pab->username = proxy_username ? proxy_username :"";
             pab->password = proxy_password ? proxy_password : "";
+          }
         
-            ne_set_proxy_auth(sess, proxy_auth, pab);
-            ne_set_proxy_auth(sess2, proxy_auth, pab);
-          }
+         ne_set_proxy_auth(sess, proxy_auth, pab);
+         ne_set_proxy_auth(sess2, proxy_auth, pab);
       }
 
     if (!timeout)


