diff --git a/programs/pluto/ikev1.c b/programs/pluto/ikev1.c
index 18e39ce..3dee10c 100644
--- a/programs/pluto/ikev1.c
+++ b/programs/pluto/ikev1.c
@@ -657,9 +657,17 @@ informational(struct msg_digest *md)
         switch (n->isan_type)
         {
         case R_U_THERE:
+	    if(st==NULL) {
+		loglog(RC_LOG_SERIOUS, "received bogus  R_U_THERE informational message");
+		return STF_IGNORE;
+	    }
             return dpd_inI_outR(st, n, n_pbs);
 
         case R_U_THERE_ACK:
+	    if(st==NULL) {
+		loglog(RC_LOG_SERIOUS, "received bogus R_U_THERE_ACK informational message");
+		return STF_IGNORE;
+	    }
             return dpd_inR(st, n, n_pbs);
 
 	case PAYLOAD_MALFORMED: