--- a/plugins/personal/posix/class_posixAccount.inc
+++ b/plugins/personal/posix/class_posixAccount.inc
@@ -155,7 +155,9 @@
       $this->initially_was_account= $this->is_account;
 
       /* Fill group */
-      $this->primaryGroup= $this->gidNumber;
+      if ($this->gidNumber !== "") {
+          $this->primaryGroup= intval($this->gidNumber);
+      }
 
       /* Generate status text */
       $current= date("U");
@@ -634,10 +636,10 @@
       /*Save primary group settings */
       if($this->acl_is_writeable("primaryGroup") && isset($_POST['primaryGroup'])){
         $data= get_post('primaryGroup');
-        if ($this->primaryGroup != $data){
+        if ($this->primaryGroup != intval($data)){
           $this->is_modified= TRUE;
         }
-        $this->primaryGroup= get_post('primaryGroup');
+        $this->primaryGroup= intval(get_post('primaryGroup'));
       }
 
       /* Get seelcted shadow checkboxes */
@@ -934,7 +936,7 @@
     }
 
     /* Check ID's if they are forced by user */
-    if ($this->force_ids == "1"){
+    if ($this->force_ids == 1){
 
       /* Valid uid/gid? */
       if (!tests::is_id($this->uidNumber)){
@@ -1239,11 +1241,11 @@
         $this->is_modified= TRUE;
       }
       $this->force_ids= $data;
-      $data= get_post('primaryGroup');
+      $data= intval(get_post('primaryGroup'));
       if ($this->primaryGroup != $data){
         $this->is_modified= TRUE;
       }
-      $this->primaryGroup= get_post('primaryGroup');
+      $this->primaryGroup= intval(get_post('primaryGroup'));
     }
   }
 
@@ -1354,7 +1356,7 @@
 
     /* Fill group */
     if(isset($source['gidNumber'][0])){
-      $this->primaryGroup= $source['gidNumber'][0];
+      $this->primaryGroup= intval($source['gidNumber'][0]);
     }
 
 
