diff --git a/cli-agentfwd.c b/cli-agentfwd.c
index c7df78812b135daa36dc8d0af075397bec4d7fba..eed4a6a08d4f28e92c932b003f1aea5019a7f96f 100644
--- a/cli-agentfwd.c
+++ b/cli-agentfwd.c
@@ -79,6 +79,10 @@ static int new_agent_chan(struct Channel * channel) {
 		return SSH_OPEN_ADMINISTRATIVELY_PROHIBITED;
 
 	fd = connect_agent();
+	if (cli_opts.agent_fd < 0) {
+		dropbear_log(LOG_INFO, "Failed to connect to agent");
+		return SSH_OPEN_CONNECT_FAILED;
+	}
 
 	setnonblocking(fd);