Milan Crha b59714
diff --git a/src/server/e-ews-connection.c b/src/server/e-ews-connection.c
Milan Crha b59714
index e3ec167..b239e61 100644
Milan Crha b59714
--- a/src/server/e-ews-connection.c
Milan Crha b59714
+++ b/src/server/e-ews-connection.c
Milan Crha b59714
@@ -1956,8 +1956,13 @@ static void post_restarted (SoupMessage *msg, gpointer data)
Milan Crha b59714
 
Milan Crha b59714
 	soup_message_set_request (
Milan Crha b59714
 		msg, "text/xml; charset=utf-8", SOUP_MEMORY_COPY,
Milan Crha b59714
-		(gchar *) buf->buffer->content,
Milan Crha b59714
-		buf->buffer->use);
Milan Crha b59714
+		(gchar *)
Milan Crha b59714
+			#ifdef LIBXML2_NEW_BUFFER
Milan Crha b59714
+			xmlOutputBufferGetContent (buf), xmlOutputBufferGetSize (buf)
Milan Crha b59714
+			#else
Milan Crha b59714
+			buf->buffer->content, buf->buffer->use
Milan Crha b59714
+			#endif
Milan Crha b59714
+		);
Milan Crha b59714
 }
Milan Crha b59714
 
Milan Crha b59714
 static SoupMessage *
Milan Crha b59714
@@ -1978,7 +1983,13 @@ e_ews_get_msg_for_url (const gchar *url,
Milan Crha b59714
 	if (buf != NULL) {
Milan Crha b59714
 		soup_message_set_request (
Milan Crha b59714
 			msg, "text/xml; charset=utf-8", SOUP_MEMORY_COPY,
Milan Crha b59714
-			(gchar *) buf->buffer->content, buf->buffer->use);
Milan Crha b59714
+			(gchar *)
Milan Crha b59714
+			#ifdef LIBXML2_NEW_BUFFER
Milan Crha b59714
+			xmlOutputBufferGetContent (buf), xmlOutputBufferGetSize (buf)
Milan Crha b59714
+			#else
Milan Crha b59714
+			buf->buffer->content, buf->buffer->use
Milan Crha b59714
+			#endif
Milan Crha b59714
+			);
Milan Crha b59714
 		g_signal_connect (
Milan Crha b59714
 			msg, "restarted",
Milan Crha b59714
 			G_CALLBACK (post_restarted), buf);