diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
index a3904d21d..6be238dca 100644
--- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
@@ -135,14 +135,9 @@ public class ShareWithActivity extends XmppActivity {
 	public void onStart() {
 		final String type = getIntent().getType();
 		final Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM);
-		if (type != null && uri != null && !type.startsWith("text/")) {
+		if (type != null && uri != null && !type.equalsIgnoreCase("text/plain")) {
 			this.share.uri = uri;
-			try {
-				String guess = URLConnection.guessContentTypeFromName(uri.toString());
-				this.share.image = type.startsWith("image/") || (guess != null && guess.startsWith("image/"));
-			} catch (final StringIndexOutOfBoundsException ignored) {
-				this.share.image = false;
-			}
+			this.share.image = type.startsWith("image/") || isImage(uri);
 		} else {
 			this.share.text = getIntent().getStringExtra(Intent.EXTRA_TEXT);
 		}
@@ -152,6 +147,15 @@ public class ShareWithActivity extends XmppActivity {
 		super.onStart();
 	}
 
+	protected boolean isImage(Uri uri) {
+		try {
+			String guess = URLConnection.guessContentTypeFromName(uri.toString());
+			return (guess != null && guess.startsWith("image/"));
+		} catch (final StringIndexOutOfBoundsException ignored) {
+			return false;
+		}
+	}
+
 	@Override
 	void onBackendConnected() {
 		if (xmppConnectionServiceBound && share != null