diff --git a/src/chat_control.py b/src/chat_control.py
index 46d49a69fe87d471e76a276730eb14b563dfc0bf..2873066c901e459aa1455721a97e0473083145e8 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -1594,7 +1594,10 @@ class ChatControl(ChatControlBase):
 			'error': self.JINGLE_STATE_ERROR}
 
 		if state in states:
-			self.__dict__[jingle_type + '_state'] = states[state]
+			jingle_state = states[state]
+			if self.__dict__[jingle_type + '_state'] == jingle_state:
+				return
+			self.__dict__[jingle_type + '_state'] = jingle_state
 
 		# Destroy existing session with the user when he signs off
 		# We need to do that before modifying the sid