diff --git a/res/res_jabber.c b/res/res_jabber.c
index 250a988a607b091428940d9b1ee0ed3a99e70ab2..0a7f5fb924012ead0867a4cb6f0791305d4b3767 100644
--- a/res/res_jabber.c
+++ b/res/res_jabber.c
@@ -1099,7 +1099,8 @@ static void aji_handle_message(struct aji_client *client, ikspak *pak)
 		insert->message = ast_strdup(iks_find_cdata(pak->x, "body"));
 	if(pak->id)
 		ast_copy_string(insert->id, pak->id, sizeof(insert->message));
-	insert->from = ast_strdup(pak->from->full);
+	if (pak->from)
+		insert->from = ast_strdup(pak->from->full);
 	AST_LIST_LOCK(&client->messages);
 	AST_LIST_TRAVERSE_SAFE_BEGIN(&client->messages, tmp, list) {
 		if (flag) {