diff --git a/lib/group/backend.php b/lib/group/backend.php
index 1b0b663f2edf607ccbc247a4889af3412c52351e..24778afd1e56c3859684f7fb635abf5d22b964c7 100644
--- a/lib/group/backend.php
+++ b/lib/group/backend.php
@@ -44,7 +44,7 @@ abstract class OC_Group_Backend {
 		OC_GROUP_BACKEND_ADD_TO_GROUP => 'addToGroup',
 		OC_GROUP_BACKEND_REMOVE_FROM_GOUP => 'removeFromGroup',
 	);
-	
+
 	/**
 	* @brief Get all supported actions
 	* @returns bitwise-or'ed actions
@@ -62,7 +62,7 @@ abstract class OC_Group_Backend {
 
 		return $actions;
 	}
-	
+
 	/**
 	* @brief Check if backend implements actions
 	* @param $actions bitwise-or'ed actions
@@ -83,7 +83,7 @@ abstract class OC_Group_Backend {
 	 *
 	 * Checks whether the user is member of a group or not.
 	 */
-	public static function inGroup($uid, $gid){
+	public function inGroup($uid, $gid){
 		return in_array($gid, $this->getUserGroups($uid));
 	}
 
@@ -95,7 +95,7 @@ abstract class OC_Group_Backend {
 	 * This function fetches all groups a user belongs to. It does not check
 	 * if the user exists at all.
 	 */
-	public static function getUserGroups($uid){
+	public function getUserGroups($uid){
 		return array();
 	}
 
@@ -105,7 +105,7 @@ abstract class OC_Group_Backend {
 	 *
 	 * Returns a list with all groups
 	 */
-	public static function getGroups(){
+	public function getGroups(){
 		return array();
 	}
 
@@ -122,7 +122,7 @@ abstract class OC_Group_Backend {
 	 * @brief get a list of all users in a group
 	 * @returns array with user ids
 	 */
-	public static function usersInGroup($gid){
+	public function usersInGroup($gid){
 		return array();
 	}
 
diff --git a/lib/group/database.php b/lib/group/database.php
index af55de1f42738572f40760412afb2f49e119ff9f..fb173665eb8ad2ece78b04c755bc88aef9b44ef5 100644
--- a/lib/group/database.php
+++ b/lib/group/database.php
@@ -41,7 +41,7 @@
  * Class for group management in a SQL Database (e.g. MySQL, SQLite)
  */
 class OC_Group_Database extends OC_Group_Backend {
-	static private $userGroupCache=array();
+	private $userGroupCache=array();
 
 	/**
 	 * @brief Try to create a new group
@@ -51,7 +51,7 @@ class OC_Group_Database extends OC_Group_Backend {
 	 * Trys to create a new group. If the group name already exists, false will
 	 * be returned.
 	 */
-	public static function createGroup( $gid ){
+	public function createGroup( $gid ){
 		// Check for existence
 		$query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*groups` WHERE gid = ?" );
 		$result = $query->execute( array( $gid ));
@@ -76,7 +76,7 @@ class OC_Group_Database extends OC_Group_Backend {
 	 *
 	 * Deletes a group and removes it from the group_user-table
 	 */
-	public static function deleteGroup( $gid ){
+	public function deleteGroup( $gid ){
 		// Delete the group
 		$query = OC_DB::prepare( "DELETE FROM `*PREFIX*groups` WHERE gid = ?" );
 		$result = $query->execute( array( $gid ));
@@ -96,7 +96,7 @@ class OC_Group_Database extends OC_Group_Backend {
 	 *
 	 * Checks whether the user is member of a group or not.
 	 */
-	public static function inGroup( $uid, $gid ){
+	public function inGroup( $uid, $gid ){
 		// check
 		$query = OC_DB::prepare( "SELECT uid FROM `*PREFIX*group_user` WHERE gid = ? AND uid = ?" );
 		$result = $query->execute( array( $gid, $uid ));
@@ -112,9 +112,9 @@ class OC_Group_Database extends OC_Group_Backend {
 	 *
 	 * Adds a user to a group.
 	 */
-	public static function addToGroup( $uid, $gid ){
+	public function addToGroup( $uid, $gid ){
 		// No duplicate entries!
-		if( !self::inGroup( $uid, $gid )){
+		if( !$this->inGroup( $uid, $gid )){
 			$query = OC_DB::prepare( "INSERT INTO `*PREFIX*group_user` ( `uid`, `gid` ) VALUES( ?, ? )" );
 			$result = $query->execute( array( $uid, $gid ));
 			return true;
@@ -131,7 +131,7 @@ class OC_Group_Database extends OC_Group_Backend {
 	 *
 	 * removes the user from a group.
 	 */
-	public static function removeFromGroup( $uid, $gid ){
+	public function removeFromGroup( $uid, $gid ){
 		$query = OC_DB::prepare( "DELETE FROM *PREFIX*group_user WHERE uid = ? AND gid = ?" );
 		$result = $query->execute( array( $uid, $gid ));
 
@@ -146,7 +146,7 @@ class OC_Group_Database extends OC_Group_Backend {
 	 * This function fetches all groups a user belongs to. It does not check
 	 * if the user exists at all.
 	 */
-	public static function getUserGroups( $uid ){
+	public function getUserGroups( $uid ){
 		// No magic!
 		$query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*group_user` WHERE uid = ?" );
 		$result = $query->execute( array( $uid ));
@@ -165,7 +165,7 @@ class OC_Group_Database extends OC_Group_Backend {
 	 *
 	 * Returns a list with all groups
 	 */
-	public static function getGroups(){
+	public function getGroups(){
 		$query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*groups`" );
 		$result = $query->execute();
 
@@ -176,12 +176,12 @@ class OC_Group_Database extends OC_Group_Backend {
 
 		return $groups;
 	}
-	
+
 	/**
 	 * @brief get a list of all users in a group
 	 * @returns array with user ids
 	 */
-	public static function usersInGroup($gid){
+	public function usersInGroup($gid){
 		$query=OC_DB::prepare('SELECT uid FROM *PREFIX*group_user WHERE gid=?');
 		$users=array();
 		$result=$query->execute(array($gid));