diff --git a/src/gajim.py b/src/gajim.py
index f14c0f15a7d0ee16cd4a803658e514ac43ea05e8..380869773156e84fbfdeb552fbae62156792cdcd 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -773,7 +773,7 @@ class Interface:
 		if pm:
 			nickname = resource
 			groupchat_control.on_private_message(nickname, message, array[2],
-				xhtml)
+				xhtml, msg_id)
 		else:
 			# array: (jid, msg, time, encrypted, msg_type, subject)
 			if encrypted:
diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index 5ddd3761d1b99cb8305f39a4002bed9ba612f505..c011d53b7487c1a31d38541f88a00ab37a404309 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -527,7 +527,7 @@ class GroupchatControl(ChatControlBase):
 			else:
 				self.print_conversation(msg, nick, tim, xhtml)
 
-	def on_private_message(self, nick, msg, tim, xhtml):
+	def on_private_message(self, nick, msg, tim, xhtml, msg_id = None):
 		# Do we have a queue?
 		fjid = self.room_jid + '/' + nick
 		no_queue = len(gajim.events.get_events(self.account, fjid)) == 0
@@ -539,7 +539,7 @@ class GroupchatControl(ChatControlBase):
 			return
 
 		event = gajim.events.create_event('pm', (msg, '', 'incoming', tim,
-			False, '', None, xhtml))
+			False, '', msg_id, xhtml))
 		gajim.events.add_event(self.account, fjid, event)
 
 		autopopup = gajim.config.get('autopopup')