diff -rNu gajim-0.11.4.orig/src/common/config.py gajim-0.11.4/src/common/config.py
--- gajim-0.11.4.orig/src/common/config.py	2007-09-07 22:55:42.000000000 +0200
+++ gajim-0.11.4/src/common/config.py	2007-12-25 23:10:23.000000000 +0100
@@ -254,6 +254,7 @@
 			'custom_host': [ opt_str, '', '', True ],
 			'savegpgpass': [ opt_bool, False, '', True ],
 			'gpgpassword': [ opt_str, '' ],
+			'gpg_sign_presence': [ opt_bool, True, '', True ],
 			'sync_with_global_status': [ opt_bool, False, ],
 			'no_log_for': [ opt_str, '' ],
 			'attached_gpg_keys': [ opt_str, '' ],
diff -rNu gajim-0.11.4.orig/src/common/connection.py gajim-0.11.4/src/common/connection.py
--- gajim-0.11.4.orig/src/common/connection.py	2007-09-10 16:34:46.000000000 +0200
+++ gajim-0.11.4/src/common/connection.py	2007-12-25 23:10:41.000000000 +0100
@@ -115,7 +115,7 @@
 		if self.connected < 2: # connection failed
 			gajim.log.debug('reconnect')
 			self.retrycount += 1
-			signed = self.get_signed_msg(self.status)
+			signed = self.get_signed_presence(self.status)
 			self.on_connect_auth = self._init_roster
 			self.connect_and_init(self.old_show, self.status, signed)
 		else:
@@ -585,6 +585,12 @@
 		self.gpg.password = None
 		return signed != 'BAD_PASSPHRASE'
 
+	def get_signed_presence(self, msg):
+		if gajim.config.get_per('accounts', self.name, 'gpg_sign_presence'):
+			return self.get_signed_msg(msg)
+		else:
+			return ''
+
 	def get_signed_msg(self, msg):
 		signed = ''
 		keyID = gajim.config.get_per('accounts', self.name, 'keyid')
@@ -634,7 +640,7 @@
 		keyID = gajim.config.get_per('accounts', self.name, 'keyid')
 		signed = ''
 		if not auto and not show == 'offline':
-			signed = self.get_signed_msg(msg)
+			signed = self.get_signed_presence(msg)
 		self.status = msg
 		if show != 'offline' and not self.connected:
 			# set old_show to requested 'show' in case we need to
