diff --git a/ChangeLog b/ChangeLog
index cd054c1..0ba4605 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 PolarSSL ChangeLog
 
+= Version trunk
+Bugfix
+   * Undid faulty bug fix in ssl_write() when flushing old data (Ticket
+     #18)
+
 = Version 0.99-pre5 released on 2011-05-26
 Features
    * Added additional Cipher Block Modes to symmetric ciphers
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 47723cc..7f82fa0 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2164,6 +2164,9 @@
         }
     }
 
+    n = ( len < SSL_MAX_CONTENT_LEN )
+        ? len : SSL_MAX_CONTENT_LEN;
+
     if( ssl->out_left != 0 )
     {
         if( ( ret = ssl_flush_output( ssl ) ) != 0 )
@@ -2172,18 +2175,17 @@
             return( ret );
         }
     }
-
-    n = ( len < SSL_MAX_CONTENT_LEN )
-        ? len : SSL_MAX_CONTENT_LEN;
-
-    ssl->out_msglen  = n;
-    ssl->out_msgtype = SSL_MSG_APPLICATION_DATA;
-    memcpy( ssl->out_msg, buf, n );
-
-    if( ( ret = ssl_write_record( ssl ) ) != 0 )
+    else
     {
-        SSL_DEBUG_RET( 1, "ssl_write_record", ret );
-        return( ret );
+        ssl->out_msglen  = n;
+        ssl->out_msgtype = SSL_MSG_APPLICATION_DATA;
+        memcpy( ssl->out_msg, buf, n );
+
+        if( ( ret = ssl_write_record( ssl ) ) != 0 )
+        {
+            SSL_DEBUG_RET( 1, "ssl_write_record", ret );
+            return( ret );
+        }
     }
 
     SSL_DEBUG_MSG( 2, ( "<= write" ) );
