diff --git a/hdd/adduser.sh b/hdd/adduser.sh
index 7a4042bfea66c710abd2dec14ae9003443ed9271..4b103c370da233ea9472844961300910ffc45027 100755
--- a/hdd/adduser.sh
+++ b/hdd/adduser.sh
@@ -93,6 +93,24 @@ add (){
     fi
 }
 
+remove_group(){
+    local group=$1
+    #get user that is direct from this group
+    local username=$( echo $group | cut -d':' -f1);
+    local userDetail=$( cat /etc/passwd | cut -d':' -f1-3 | grep -e "^$username:")
+
+    #remove user that is from this group
+    remove_user "$userDetail"
+
+    #remove group from groups
+    local temp=$(mktemp)
+    sed "/^$group$/d" /etc/group > $temp
+    cp $temp /etc/group
+    chown root:root /etc/group
+    chmod 644 /etc/group
+    rm $temp
+}
+
 remove_user(){
 
     userDetail=$1
@@ -178,27 +196,25 @@ fi
 
 checkName=$( cat /etc/passwd | cut -d':' -f1-3 | grep -e "^$username:" )
 if [ -z "$checkName" ]; then
-    #remove "$checkName"
     remove_user "$checkName"
     echo $0": encontrei outro usuario local com o mesmo nome, devo remove-lo"
 fi
 
 checkID=$( cat /etc/passwd | cut -d':' -f1-3 | grep -e ":$uID$" )
 if [ -z "$checkID" ]; then
-    #remove "$checkID"
     remove_user "$checkID"
     echo $0": encontrei outro usuario local com o mesmo id, devo remove-lo"
 fi
 
 checkGID=$( cat /etc/group | grep -e ":$gID:" )
 if [ -z "$checkGID" ]; then
-    #remove "$checkGID"
+    remove_group "$checkGID"
     echo $0": encontrei outro usuario local com o mesmo id de grupo, devo remove-lo"
 fi
 
 checkGName=$( cat /etc/group | grep -e "^$groupname:" )
 if [ -z "$checkGName" ]; then
-    #remove "$checkGName"
+    remove_group "$checkGName"
     echo $0": encontrei outro usuario local com o mesmo nome de grupo, devo remove-lo"
 fi