diff --git a/src/sptps.c b/src/sptps.c
index 712d50ea..dd08e65d 100644
--- a/src/sptps.c
+++ b/src/sptps.c
@@ -128,11 +128,13 @@ static bool send_record_priv(sptps_t *s, uint8_t type, const void *data, uint16_
 
 // Send an application record.
 bool sptps_send_record(sptps_t *s, uint8_t type, const void *data, uint16_t len) {
+
+	if((!s->outstate) && (type != PKT_PROBE))
+		return error(s, EINVAL, "Handshake phase not finished yet (outstate:%x type: %d)",
+									s->outstate, type);
+
 	// Sanity checks: application cannot send data before handshake is finished,
 	// and only record types 0..127 are allowed.
-	if(!s->outstate)
-		return error(s, EINVAL, "Handshake phase not finished yet");
-
 	if(type >= SPTPS_HANDSHAKE)
 		return error(s, EINVAL, "Invalid application record type");