diff --git a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java
index acc6ca6ca21749e41102d1ac15eb7dcaa2e4b9d3..414feaca988b36b9933976e277df29e96ea9f964 100644
--- a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java
+++ b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java
@@ -163,7 +163,8 @@ class ConversationAdapter extends RecyclerView.Adapter {
 		if (item.getBody() == null) {
 			ui.body.setText("\u2026");
 		} else if (header.getContentType().equals("text/plain")) {
-			ui.body.setText(StringUtils.fromUtf8(item.getBody()));
+			ui.body.setText(
+					StringUtils.trim(StringUtils.fromUtf8(item.getBody())));
 		} else {
 			// TODO support other content types
 		}
@@ -182,7 +183,7 @@ class ConversationAdapter extends RecyclerView.Adapter {
 			ui.messageLayout.setVisibility(View.GONE);
 		} else {
 			ui.messageLayout.setVisibility(View.VISIBLE);
-			ui.message.body.setText(message);
+			ui.message.body.setText(StringUtils.trim(message));
 			ui.message.date.setText(
 					DateUtils.getRelativeTimeSpanString(ctx, item.getTime()));
 		}
@@ -286,7 +287,7 @@ class ConversationAdapter extends RecyclerView.Adapter {
 			ui.messageLayout.setVisibility(View.GONE);
 		} else {
 			ui.messageLayout.setVisibility(View.VISIBLE);
-			ui.message.body.setText(message);
+			ui.message.body.setText(StringUtils.trim(message));
 			ui.message.date.setText(
 					DateUtils.getRelativeTimeSpanString(ctx, item.getTime()));
 		}
diff --git a/briar-android/src/org/briarproject/android/forum/ForumActivity.java b/briar-android/src/org/briarproject/android/forum/ForumActivity.java
index 57285339a9becab6bf4a882a4d366d21f9772a40..8133edef3ac914fba40926f26ff04dd1a6e38386 100644
--- a/briar-android/src/org/briarproject/android/forum/ForumActivity.java
+++ b/briar-android/src/org/briarproject/android/forum/ForumActivity.java
@@ -615,7 +615,7 @@ public class ForumActivity extends BriarActivity implements
 				data.setRead(true);
 				forumController.entryRead(data);
 			}
-			ui.textView.setText(data.getText());
+			ui.textView.setText(StringUtils.trim(data.getText()));
 
 			if (position == 0) {
 				ui.topDivider.setVisibility(View.INVISIBLE);
diff --git a/briar-core/src/org/briarproject/util/StringUtils.java b/briar-core/src/org/briarproject/util/StringUtils.java
index 0753748e88c7c63ac8220d82c4041ee8094266a8..f8a97a6d635bd403c59eb9ea659decdde3c68f5a 100644
--- a/briar-core/src/org/briarproject/util/StringUtils.java
+++ b/briar-core/src/org/briarproject/util/StringUtils.java
@@ -82,4 +82,8 @@ public class StringUtils {
 		if (c >= 'a' && c <= 'f') return c - 'a' + 10;
 		throw new IllegalArgumentException("Not a hex digit: " + c);
 	}
+
+	public static String trim(String s) {
+		return s.trim();
+	}
 }