diff --git a/library/debug.c b/library/debug.c
index 5c8d573..09a1d9e 100644
--- a/library/debug.c
+++ b/library/debug.c
@@ -68,6 +68,7 @@
     va_list argp;
     char str[DEBUG_BUF_SIZE];
     int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
+    int newline = -1;
 
     if (NULL == ssl              ||
         NULL == ssl->conf        ||
@@ -80,16 +81,26 @@
     ret = mbedtls_vsnprintf(str, DEBUG_BUF_SIZE, format, argp);
     va_end(argp);
 
-    if (ret >= 0 && ret < DEBUG_BUF_SIZE - 1) {
-        str[ret]     = '\n';
-        str[ret + 1] = '\0';
-    }
-    else
-    {
-        str[DEBUG_BUF_SIZE - 2] = '\n';
+    if (DEBUG_BUF_SIZE >= 2) {
+        if (ret < 0) {
+            newline = 0;
+        } else {
+            newline = ret;
+            if (ret >= DEBUG_BUF_SIZE - 1) {
+                newline = DEBUG_BUF_SIZE - 2;
+            }
+        }
     }
 
-    debug_send_line(ssl, level, file, line, str);
+    /*
+     * Send if str contains '\n'.
+     */
+    if (newline >= 0) {
+        str[newline]     = '\n';
+        str[newline + 1] = '\0';
+
+        debug_send_line(ssl, level, file, line, str);
+    }
 }
 
 void mbedtls_debug_print_ret(const mbedtls_ssl_context *ssl, int level,
