diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 27c456a..ea374ed 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2141,9 +2141,6 @@
         }
     }
 
-    n = ( len < SSL_MAX_CONTENT_LEN )
-        ? len : SSL_MAX_CONTENT_LEN;
-
     if( ssl->out_left != 0 )
     {
         if( ( ret = ssl_flush_output( ssl ) ) != 0 )
@@ -2152,17 +2149,18 @@
             return( ret );
         }
     }
-    else
-    {
-        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 );
-        }
+    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 )
+    {
+        SSL_DEBUG_RET( 1, "ssl_write_record", ret );
+        return( ret );
     }
 
     SSL_DEBUG_MSG( 2, ( "<= write" ) );
