diff --git a/ssl/test/runner/common.go b/ssl/test/runner/common.go
index d7a1ea4..ee65687 100644
--- a/ssl/test/runner/common.go
+++ b/ssl/test/runner/common.go
@@ -91,12 +91,58 @@
 	typeFinished              uint8 = 20
 	typeCertificateStatus     uint8 = 22
 	typeKeyUpdate             uint8 = 24
-	typeCompressedCertificate uint8 = 25  // Not IANA assigned
+	typeCompressedCertificate uint8 = 25
 	typeNextProtocol          uint8 = 67  // Not IANA assigned
 	typeChannelID             uint8 = 203 // Not IANA assigned
 	typeMessageHash           uint8 = 254
 )
 
+func messageTypeToString(typ uint8) string {
+	switch typ {
+	case typeHelloRequest:
+		return "HelloRequest"
+	case typeClientHello:
+		return "ClientHello"
+	case typeServerHello:
+		return "ServerHello"
+	case typeHelloVerifyRequest:
+		return "HelloVerifyRequest"
+	case typeNewSessionTicket:
+		return "NewSessionTicket"
+	case typeEndOfEarlyData:
+		return "EndOfEarlyData"
+	case typeEncryptedExtensions:
+		return "EncryptedExtensions"
+	case typeCertificate:
+		return "Certificate"
+	case typeServerKeyExchange:
+		return "ServerKeyExchange"
+	case typeCertificateRequest:
+		return "CertificateRequest"
+	case typeServerHelloDone:
+		return "ServerHelloDone"
+	case typeCertificateVerify:
+		return "CertificateVerify"
+	case typeClientKeyExchange:
+		return "ClientKeyExchange"
+	case typeFinished:
+		return "Finished"
+	case typeCertificateStatus:
+		return "CertificateStatus"
+	case typeKeyUpdate:
+		return "KeyUpdate"
+	case typeCompressedCertificate:
+		return "CompressedCertificate"
+	case typeNextProtocol:
+		return "NextProtocol"
+	case typeChannelID:
+		return "ChannelID"
+	case typeMessageHash:
+		return "MessageHash"
+	}
+	return fmt.Sprintf("unknown(%d)", typ)
+}
+
 // TLS compression types.
 const (
 	compressionNone uint8 = 0
diff --git a/ssl/test/runner/conn.go b/ssl/test/runner/conn.go
index d262507..a3ca817 100644
--- a/ssl/test/runner/conn.go
+++ b/ssl/test/runner/conn.go
@@ -1447,8 +1447,9 @@
 		return nil, err
 	}
 
+	typ := data[0]
 	var m handshakeMessage
-	switch data[0] {
+	switch typ {
 	case typeHelloRequest:
 		m = new(helloRequestMsg)
 	case typeClientHello:
@@ -1523,7 +1524,8 @@
 	}
 
 	if !m.unmarshal(data) {
-		return nil, c.in.setErrorLocked(c.sendAlert(alertDecodeError))
+		c.sendAlert(alertDecodeError)
+		return nil, c.in.setErrorLocked(fmt.Errorf("tls: error decoding %s message", messageTypeToString(typ)))
 	}
 	return m, nil
 }
