diff --git a/lib/modules/SSL.pmod/connection.pike b/lib/modules/SSL.pmod/connection.pike
index f2ba0b1d39f67a75fe8fb98b0d8f8fd0dcdae87e..8f2b8e4349e29ed1b23d5950a89084eab398b699 100644
--- a/lib/modules/SSL.pmod/connection.pike
+++ b/lib/modules/SSL.pmod/connection.pike
@@ -1,4 +1,4 @@
-/* $Id: connection.pike,v 1.6 1997/08/01 07:34:17 nisse Exp $
+/* $Id: connection.pike,v 1.7 1997/11/19 22:36:40 grubba Exp $
  *
  * SSL packet layer
  */
@@ -219,7 +219,7 @@ string|int got_data(string s)
       send_packet(packet);
       if (alert_callback)
 	alert_callback(packet, current_read_state->seq_num, alert_context);
-      if (packet->level == ALERT_fatal)
+      if ((!packet) || (!this_object()) || (packet->level == ALERT_fatal))
 	return -1;
     }
     else
diff --git a/lib/modules/SSL.pmod/sslfile.pike b/lib/modules/SSL.pmod/sslfile.pike
index 5845f60afb2cb7beef1e20fddad4ab91037b7133..e56ce767a3e5f1217450a83645f19e7a11ef9c81 100644
--- a/lib/modules/SSL.pmod/sslfile.pike
+++ b/lib/modules/SSL.pmod/sslfile.pike
@@ -1,4 +1,4 @@
-/* $Id: sslfile.pike,v 1.6 1997/08/03 22:48:42 grubba Exp $
+/* $Id: sslfile.pike,v 1.7 1997/11/19 22:36:40 grubba Exp $
  *
  */
 
@@ -150,7 +150,9 @@ private void ssl_read_callback(mixed id, string s)
       if (data < 0)
       {
 	/* Fatal error, remove from session cache */
-	die(-1);
+	if (this_object()) {
+	  die(-1);
+	}
 	return;
       }
   }