diff --git a/pom.xml b/pom.xml
index 1d703e68ff59c412f2d524fbb19ff09d2c049314..27a899f65f9c1695e1014478d5531eb4e21d8b41 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1182,17 +1182,17 @@
 		<dependency>
 			<groupId>org.apache.pdfbox</groupId>
 			<artifactId>pdfbox</artifactId>
-			<version>1.6.0</version>
+			<version>1.7.1</version>
 		</dependency>
 		<dependency>
 			<groupId>org.bouncycastle</groupId>
 			<artifactId>bcmail-jdk15</artifactId>
-			<version>1.44</version>
+			<version>1.46</version>
 		</dependency>
 		<dependency>
 			<groupId>org.bouncycastle</groupId>
 			<artifactId>bcprov-jdk15</artifactId>
-			<version>1.44</version>
+			<version>1.46</version>
 		</dependency>
 		<dependency>
 			<groupId>jdom</groupId>
diff --git a/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java b/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java
index 011d8a6036e7ccfb06cc38f577daeb4b225f8d2e..e939563bdc0d7654d60d8bfa947d72d56fe0a3f1 100644
--- a/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java
+++ b/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java
@@ -159,8 +159,6 @@ public class ClientManagerImpl extends BasicManager implements ClientManager {
 				if (listener != null){
 					listener.event(new InstantMessagingEvent(packet, "message"));
 					if (isLogDebugEnabled()) logDebug("routing message event to controller of: "+packet.getTo());
-				} else {
-					logWarn("could not find listener for IM message for username: "+username, null);
 				}
 			}
 		};
@@ -176,12 +174,8 @@ public class ClientManagerImpl extends BasicManager implements ClientManager {
 			public void processPacket(Packet packet) {
 				try {
 					GenericEventListener listener = listeners.get(username);
-					if (listener == null) {
-						logWarn("could not route presence event as presence listener is null for user: "+username, null);
-					} else {
+					if (listener != null) {
 						listener.event(new InstantMessagingEvent(packet, "presence"));
-						Presence presence = (Presence) packet;
-						if (isLogDebugEnabled()) logDebug("routing presence event to controller of: "+presence.getTo());
 					}
 				} catch(Throwable th){
 					logWarn("Presence package", th);
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java b/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java
index 5f57f6c352d26cdaed7b8e046ffbeb717f3cc8d9..f6a06d04c5a32dd96db9f5b88bb49e435370c392 100644
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java
+++ b/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java
@@ -26,7 +26,10 @@
 
 package org.olat.instantMessaging;
 
+import javax.net.SocketFactory;
+
 import org.jivesoftware.smack.ConnectionConfiguration;
+import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
 import org.jivesoftware.smack.XMPPConnection;
 import org.olat.admin.user.delete.service.UserDeletionManager;
 import org.olat.core.commons.persistence.DB;
@@ -157,6 +160,10 @@ public class InstantMessagingModule implements Initializable, Destroyable, UserD
 			connConfig.setNotMatchingDomainCheckEnabled(false);
 			connConfig.setSASLAuthenticationEnabled(false);
 			connConfig.setReconnectionAllowed(false);
+			//disable the SSL connection to save a lot of memory
+			connConfig.setSecurityMode(SecurityMode.disabled);
+			//make sure that smackx doesn't use the SSLSocketFactory
+			connConfig.setSocketFactory(SocketFactory.getDefault());
 		}
 		return connConfig;
 	}