diff --git a/src/libemane/logservice.cc b/src/libemane/logservice.cc
index 20d7387..568905e 100644
--- a/src/libemane/logservice.cc
+++ b/src/libemane/logservice.cc
@@ -353,6 +353,10 @@ void EMANE::LogService::vlog_i(LogLevel level, const char *fmt, va_list ap)
       
   len += vsnprintf(buff + len, sizeof(buff) - len, fmt, ap);
 
+  // Make sure we are not overflowing the buffer. If we are - concatenate it.
+  if ( len > sizeof(buff) )
+    len = sizeof(buff);
+
   if(bDecoupleLogging_ == false)
     {
       writeLogString(buff, level);   
