diff --git a/pjlib/include/pj/file_io.h b/pjlib/include/pj/file_io.h
index c5d9ac6..0442103 100644
--- a/pjlib/include/pj/file_io.h
+++ b/pjlib/include/pj/file_io.h
@@ -163,6 +163,16 @@
 PJ_DECL(pj_status_t) pj_file_getpos(pj_oshandle_t fd,
                                     pj_off_t *pos);
 
+/**
+ * Flush file buffers.
+ *
+ * @param fd		The file descriptor.
+ *
+ * @return		PJ_SUCCESS or the appropriate error code on error.
+ */
+PJ_DECL(pj_status_t) pj_file_flush(pj_oshandle_t fd);
+
+
 /** @} */
 
 
diff --git a/pjlib/src/pj/config.c b/pjlib/src/pj/config.c
index 66e72fa..75ab36f 100644
--- a/pjlib/src/pj/config.c
+++ b/pjlib/src/pj/config.c
@@ -21,7 +21,7 @@
 #include <pj/ioqueue.h>
 
 static const char *id = "config.c";
-const char *PJ_VERSION = "0.5.10.1-trunk";
+const char *PJ_VERSION = "0.5.10.2-trunk";
 
 PJ_DEF(void) pj_dump_config(void)
 {
diff --git a/pjlib/src/pj/file_io_ansi.c b/pjlib/src/pj/file_io_ansi.c
index a242581..6d340ce 100644
--- a/pjlib/src/pj/file_io_ansi.c
+++ b/pjlib/src/pj/file_io_ansi.c
@@ -154,4 +154,14 @@
     return PJ_SUCCESS;
 }
 
+PJ_DEF(pj_status_t) pj_file_flush(pj_oshandle_t fd)
+{
+    int rc;
 
+    rc = fflush((FILE*)fd);
+    if (rc == EOF) {
+	return PJ_RETURN_OS_ERROR(errno);
+    }
+
+    return PJ_SUCCESS;
+}
diff --git a/pjlib/src/pj/file_io_win32.c b/pjlib/src/pj/file_io_win32.c
index 2497be6..2784849 100644
--- a/pjlib/src/pj/file_io_win32.c
+++ b/pjlib/src/pj/file_io_win32.c
@@ -204,3 +204,17 @@
     return PJ_SUCCESS;
 }
 
+PJ_DEF(pj_status_t) pj_file_flush(pj_oshandle_t fd)
+{
+    BOOL rc;
+
+    rc = FlushFileBuffers(fd);
+
+    if (!rc) {
+	DWORD dwStatus = GetLastError();
+        if (dwStatus != 0)
+            return PJ_RETURN_OS_ERROR(dwStatus);
+    }
+
+    return PJ_SUCCESS;
+}
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index b6fb19e..46b8e0e 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -290,6 +290,7 @@
     if (pjsua_var.log_file) {
 	pj_ssize_t size = len;
 	pj_file_write(pjsua_var.log_file, buffer, &size);
+	pj_file_flush(pjsua_var.log_file);
     }
 
     if (level <= (int)pjsua_var.log_cfg.console_level) {
