diff --git a/lib/modules/SSL.pmod/Packet.pike b/lib/modules/SSL.pmod/Packet.pike
index 34f4eeda5e84c7a648dd229bc7c1e4471586a730..6eaf085ed044434c5c0e547e4bb123ecb6fb8f61 100644
--- a/lib/modules/SSL.pmod/Packet.pike
+++ b/lib/modules/SSL.pmod/Packet.pike
@@ -36,24 +36,25 @@ protected void create(ProtocolVersion version, void|int extra)
 protected object check_size(string data, int extra)
 {
   if (sizeof(data) > (PACKET_MAX_SIZE + extra))
-    return Alert(ALERT_fatal, ALERT_unexpected_message, version);
+    return Alert(ALERT_fatal, ALERT_record_overflow, version);
   marginal_size = extra;
   fragment = data;
+  return 0;
 }
 
 object set_plaintext(string data)
 {
-  check_size(data, 0);
+  return check_size(data, 0);
 }
 
 object set_compressed(string data)
 {
-  check_size(data, 1024);
+  return check_size(data, 1024);
 }
 
 object set_encrypted(string data)
 {
-  check_size(data, 2048);
+  return check_size(data, 2048);
 }
 
 //! Receive data read from the network.