diff --git a/g10/ChangeLog b/g10/ChangeLog
index d45fa74ad..c6715c635 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-17  Werner Koch  <wk@gnupg.org>
+
+	* call-agent.c (start_agent): Ignore an empty GPG_AGENT_INFO.
+	* passphrase.c (agent_open): Ditto.
+
 2004-02-12  Werner Koch  <wk@gnupg.org>
 
 	* gpgv.c: Removed g10defs.h.
diff --git a/g10/call-agent.c b/g10/call-agent.c
index b981b7f22..e1eabc9f0 100644
--- a/g10/call-agent.c
+++ b/g10/call-agent.c
@@ -82,7 +82,7 @@ start_agent (void)
                  the access to the agent. */
 
   infostr = force_pipe_server? NULL : getenv ("GPG_AGENT_INFO");
-  if (!infostr)
+  if (!infostr || !*infostr)
     {
       const char *pgmname;
       const char *argv[3];
diff --git a/g10/passphrase.c b/g10/passphrase.c
index 0db9404b9..27ffcad97 100644
--- a/g10/passphrase.c
+++ b/g10/passphrase.c
@@ -504,7 +504,7 @@ agent_open (int *ret_prot)
     else
       {
         infostr = getenv ( "GPG_AGENT_INFO" );
-        if ( !infostr ) {
+        if ( !infostr || !*infostr ) {
           log_error (_("gpg-agent is not available in this session\n"));
           opt.use_agent = 0;
           return -1;