diff --git a/lib/modules/SSL.pmod/sslfile.pike b/lib/modules/SSL.pmod/sslfile.pike
index 28ecf21abbd0c584c656006c18bfb500816b33b9..433442f7eccf11464e6d013fccf0c96e807d2442 100644
--- a/lib/modules/SSL.pmod/sslfile.pike
+++ b/lib/modules/SSL.pmod/sslfile.pike
@@ -1,4 +1,4 @@
-/* $Id: sslfile.pike,v 1.13 1998/08/26 11:43:40 grubba Exp $
+/* $Id: sslfile.pike,v 1.14 1999/01/16 12:37:15 neotron Exp $
  *
  */
 
@@ -139,8 +139,9 @@ private void ssl_read_callback(mixed id, string s)
     read_buffer += data;
     if (!blocking && read_callback && strlen(read_buffer))
     {
-      read_callback(id, read_buffer);
+      string received = read_buffer;
       read_buffer = "";
+      read_callback(id, received);
     }
   } else {
     if (data > 0)