diff --git a/src/main/java/eu/siacs/conversations/entities/Bookmark.java b/src/main/java/eu/siacs/conversations/entities/Bookmark.java
index f5cfba3a..91e34116 100644
--- a/src/main/java/eu/siacs/conversations/entities/Bookmark.java
+++ b/src/main/java/eu/siacs/conversations/entities/Bookmark.java
@@ -56,7 +56,9 @@ public class Bookmark extends Element implements ListItem {
 				&& !getBookmarkName().trim().isEmpty()) {
 			return getBookmarkName().trim();
 		} else {
-			return this.getJid().getLocalpart();
+			Jid jid = this.getJid();
+			String name = jid != null ? jid.getLocalpart() : getAttribute("jid");
+			return name != null ? name : "";
 		}
 	}
 
@@ -66,7 +68,7 @@ public class Bookmark extends Element implements ListItem {
 		if (jid != null) {
 			return jid.toString();
 		} else {
-			return null;
+			return getAttribute("jid"); //fallback if jid wasn't parsable
 		}
 	}
 
@@ -77,7 +79,7 @@ public class Bookmark extends Element implements ListItem {
 
 	@Override
 	public List<Tag> getTags(Context context) {
-		ArrayList<Tag> tags = new ArrayList<Tag>();
+		ArrayList<Tag> tags = new ArrayList<>();
 		for (Element element : getChildren()) {
 			if (element.getName().equals("group") && element.getContent() != null) {
 				String group = element.getContent();