diff --git a/src/sftp/sftp_client.c b/src/sftp/sftp_client.c
index 666b50f1e0bf56de197dc34c37bd0265a7bd3a5d..8306ee2c61964977cc4b5237dbe3102c7ca8e9c5 100644
--- a/src/sftp/sftp_client.c
+++ b/src/sftp/sftp_client.c
@@ -164,6 +164,8 @@ get_result(sftpc_state_t state)
 		return false;
 	if (WaitForEvent(state->recv_event, INFINITE) != WAIT_OBJECT_0)
 		return false;
+	if (state->rxp == NULL)
+		return false;
 	if (state->rxp->type != SSH_FXP_VERSION) {
 		uint32_t id = sftp_get32(state->rxp);
 		if (id != state->id) {