diff --git a/settings/ajax/togglegroups.php b/settings/ajax/togglegroups.php
index de941f991320f7fffb5b101ab910f339e2fbe996..931ab2689e25aae8aebceab243845b90775b1c89 100644
--- a/settings/ajax/togglegroups.php
+++ b/settings/ajax/togglegroups.php
@@ -7,6 +7,12 @@ $success = true;
 $username = $_POST["username"];
 $group = OC_Util::sanitizeHTML($_POST["group"]);
 
+if($username == OC_User::getUser() && $group == "admin" &&  OC_Group::inGroup($username, 'admin')){
+	$l = OC_L10N::get('core');
+	OC_JSON::error(array( 'data' => array( 'message' => $l->t('Admins can\'t remove themself from the admin group'))));
+	exit();
+}
+
 if(!OC_Group::inGroup(OC_User::getUser(), 'admin') && (!OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username) || !OC_SubAdmin::isGroupAccessible(OC_User::getUser(), $group))) {
 	$l = OC_L10N::get('core');
 	OC_JSON::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
diff --git a/settings/js/users.js b/settings/js/users.js
index 517984f92475b88e2a50932086dccc75d2c9f01d..f2ce69cf3118cdb0af9efa68e1d976003739c50b 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -71,15 +71,10 @@ var UserList={
 		var tr = $('tbody tr').first().clone();
 		tr.attr('data-uid', username);
 		tr.find('td.name').text(username);
-		var groupsSelect = $('<select multiple="multiple" class="groupsselect" data-placehoder="Groups" title="Groups">');
-		groupsSelect.data('username', username);
-		groupsSelect.data('userGroups', groups);
+		var groupsSelect = $('<select multiple="multiple" class="groupsselect" data-placehoder="Groups" title="Groups"></select>').attr('data-username', username).attr('data-user-groups', groups);
 		tr.find('td.groups').empty();
 		if (tr.find('td.subadmins').length > 0) {
-			var subadminSelect = $('<select multiple="multiple" class="subadminsselect" data-placehoder="subadmins" title="' + t('files', 'Group Admin') + '">');
-			subadminSelect.data('username', username);
-			subadminSelect.data('userGroups', groups);
-			subadminSelect.data('subadmin', subadmin);
+			var subadminSelect = $('<select multiple="multiple" class="subadminsselect" data-placehoder="subadmins" title="' + t('files', 'Group Admin') + '">').attr('data-username', username).attr('data-user-groups', groups).attr('data-subadmin', subadmin);
 			tr.find('td.subadmins').empty();
 		}
 		var allGroups = String($('#content table').attr('data-groups')).split(', ');