diff --git a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
index 28a3b64cbb1b041bb487b3df66e16aa9a78c81b2..52eb8842b95a9e8b68a20851af4551e928eaf4ea 100644
--- a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
+++ b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
@@ -72,7 +72,6 @@ import org.olat.resource.OLATResourceManager;
 import org.olat.user.ChangePasswordController;
 import org.olat.user.PersonalSettingsController;
 import org.olat.user.UserManager;
-import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * <h3>Description:</h3>
@@ -84,14 +83,12 @@ import org.springframework.beans.factory.annotation.Autowired;
  * @author Felix Jost, Florian Gnaegi
  */
 public class BaseSecurityManager extends BasicManager implements BaseSecurity {
+	private DB dbInstance;
 	private OLATResourceManager orm;
 	private String dbVendor = "";
 	private static BaseSecurityManager INSTANCE;
 	private static String GUEST_USERNAME_PREFIX = "guest_";
 	public static final OLATResourceable IDENTITY_EVENT_CHANNEL = OresHelper.lookupType(Identity.class);
-
-	@Autowired
-	private DB dbInstance;
 	
 	/**
 	 * [used by spring]
@@ -107,6 +104,22 @@ public class BaseSecurityManager extends BasicManager implements BaseSecurity {
 	public static BaseSecurity getInstance() {
 		return INSTANCE;
 	}
+	
+	/**
+	 * [used by spring]
+	 * @param orm
+	 */
+	public void setResourceManager(OLATResourceManager orm) {
+		this.orm = orm;
+	}
+	
+	/**
+	 * [used by Spring]
+	 * @param dbInstance
+	 */
+	public void setDbInstance(DB dbInstance) {
+		this.dbInstance = dbInstance;
+	}
 
 	/**
 	 * @see org.olat.basesecurity.Manager#init()
@@ -1922,17 +1935,4 @@ public class BaseSecurityManager extends BasicManager implements BaseSecurity {
 		}
 		return guestIdentity;
 	}
-
-
-	/**
-	 * [used by spring]
-	 * @param orm
-	 */
-	public void setResourceManager(OLATResourceManager orm) {
-		this.orm = orm;
-	}
-
-	
-	
-	
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/basesecurity/_spring/baseSecurityContext.xml b/src/main/java/org/olat/basesecurity/_spring/baseSecurityContext.xml
index 29f9354774e172954c057ba64cd70eac9add027a..fd5d28d8981fdcc3e2aab6afb140992a84d4fdeb 100644
--- a/src/main/java/org/olat/basesecurity/_spring/baseSecurityContext.xml
+++ b/src/main/java/org/olat/basesecurity/_spring/baseSecurityContext.xml
@@ -3,14 +3,15 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="
   http://www.springframework.org/schema/beans 
-  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+  http://www.springframework.org/schema/beans/spring-beans.xsd">
 
 
 <!-- manager -->
 <bean id="baseSecurityManager" class="org.olat.basesecurity.BaseSecurityManager" init-method="init" 
-depends-on="database, i18nModule, triggerI18nModuleInit">
-<property name="resourceManager" ref="resourceManager"/>
-<property name="dbVendor" value="${db.vendor}" />
+	depends-on="database, i18nModule, triggerI18nModuleInit">
+	<property name="resourceManager" ref="resourceManager"/>
+	<property name="dbInstance" ref="database"/>
+	<property name="dbVendor" value="${db.vendor}" />
 </bean>
 
 <!-- module -->
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatController.java b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
index 330e8e8cda9a99b2acca1e0108d740e6ff770fbe..e1b0b4a99c5a3e5622b344ab62923304563ecb46 100644
--- a/src/main/java/org/olat/instantMessaging/ui/ChatController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
@@ -316,10 +316,7 @@ public class ChatController extends BasicController implements GenericEventListe
 	}
 	
 	private void appendToMessageHistory(InstantMessage message, boolean focus) {
-		if(message == null || message.getBody() == null) {
-			System.out.println();
-		}
-		
+		if(message == null || message.getBody() == null) return;
 		
 		String m = message.getBody().replaceAll("<br/>\n", "\r\n");
 		m = prepareMsgBody(m.replaceAll("<", "&lt;").replaceAll(">", "&gt;")).replaceAll("\r\n", "<br/>\n");
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java b/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java
index 82ccae3a8a95b4db966af92c38e0e87f810ba22c..75f5d00c539fb351691a075384d9e474981d306c 100644
--- a/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java
@@ -135,7 +135,7 @@ public class ChatManagerController extends BasicController {
 		int offsetX = 100 + (chats.size() * 10);
 		int offsetY = 100 + (chats.size() * 5);
 		String roomName = translate("im.chat.with") + ": " + buddy.getName();
-		ChatController chat = new ChatController(ureq, getWindowControl(), ores, roomName, buddy.getIdentityKey(), false, 400, 300, offsetX, offsetY);
+		ChatController chat = new ChatController(ureq, getWindowControl(), ores, roomName, buddy.getIdentityKey(), false, 400, 320, offsetX, offsetY);
 		listenTo(chat);
 		container.put(chat.getOlatResourceable().getResourceableId().toString(), chat.getInitialComponent());
 		chats.put(chat.getOlatResourceable().getResourceableId(), chat);
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/chat.html b/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
index 4cc745cd11178f887779eddc918edcb93c531f78..e87e3b33c62ce194a2b46f4e3675f35ff81bed8f 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
@@ -1,42 +1,38 @@
-<div class="o_instantmessaging_chat">
-	<div class="b_clearfix">
-		$r.render("im.today") | $r.render("im.lastweek") | $r.render("im.lastmonth")
-		#if (!$isAjaxMode)
-			<div class="b_float_right">$r.render("refresh")</div>
-		#end
-	</div>
-	$r.render("chatMsgFieldPanel")
-	<div class="o_instantmessaging_chat_form">
-		$r.render("sendMessageForm")
-	</div>
-</div>
 <script type="text/javascript">
 	/* <![CDATA[ */ 
+function resize_${panelName}() {	
+	var win = jQuery('#${panelName}');
+	jQuery('.o_instantmessaging_chat_history', win).each(function(index, el){
+		jQuery(el).height(win.height() - 100);
+		jQuery(el).scrollTop(el.scrollHeight);
+	});
+}
 function tweak_${panelName}() {
-	try {		
-		var win = jQuery('#${panelName}');
-		jQuery('.o_instantmessaging_chat_history', win).each(function(index, el){
-			var historyEl = jQuery(el);
-			historyEl.height(win.height() - 150);
-			historyEl.scrollTop(el.scrollHeight);
-		});
-	} catch (e) { /**/ }
+	try {
+		resize_${panelName}();
+	} catch (e) { if(console) console.log(e) }
 }
 function focus_${panelName}() {
 	try {
-		var win = Ext.getCmp('${panelName}');
-		var histEl = win.body.dom.getElementsByClassName('o_instantmessaging_chat_history');
-		if (histEl.length == 1) {
-			histEl[0].style.height=win.getSize().height-150 + 'px';
-			histEl[0].scrollTop = histEl[0].scrollHeight;
-		}
-
+		resize_${panelName}();
 		var el = document.getElementById('o_fioinput_${panelName}');
 		if(el != null) {
 			el.focus();
 			el.focus(); //stupid IE needs an extra focus call to work
 		}
-	} catch (e) { /**/ }
+	} catch (e) { if(console) console.log(e) }
 }
 /* ]]> */
-</script>
\ No newline at end of file
+</script>
+<div class="o_instantmessaging_chat">
+	<div class="b_clearfix">
+		$r.render("im.today") | $r.render("im.lastweek") | $r.render("im.lastmonth")
+		#if (!$isAjaxMode)
+			<div class="b_float_right">$r.render("refresh")</div>
+		#end
+	</div>
+	$r.render("chatMsgFieldPanel")
+	<div class="o_instantmessaging_chat_form">
+		$r.render("sendMessageForm")
+	</div>
+</div>
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
index a02d7c8204e192329af00074d3934860fc0a22ba..82f32b90093f8791c6c8a9aa6c3a277e2a0d4a4a 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
@@ -41,20 +41,17 @@
 	#end
 </div>
 #if($focus)
-	<script>jQuery(function(){try{focus_${panelName}();}catch(e){}});</script>
+	<script type="text/javascript">jQuery(function(){try{focus_${panelName}();}catch(e){ if(console) console.log(e) }});</script>
 #else
-	<script>jQuery(function(){try{tweak_${panelName}();}catch(e){}});</script>
+	<script type="text/javascript">jQuery(function(){try{tweak_${panelName}();}catch(e){ if(console) console.log(e) }});</script>
 #end
 <script type="text/javascript">
 /* <![CDATA[ */
 	//setTimeout used because otherwise it would not work the first time the chatwindow is displayed
-	jQuery(function() {
-		jQuery('#$id').each(function(index, el) {
-			var chatEl = jQuery(el);
-			if(chatEl.offset().top < chatEl.height()) {
-				chatEl.scrollTop(chatEl.height() + 13);
-			}
-		})
-	});
+	setTimeout(function() {
+		try{
+			resize_${panelName}();
+		} catch(e) { console.log(e) }
+	}, 100);
 /* ]]> */ 
 </script>
\ No newline at end of file