diff --git a/src/groups/dao/groups.dao.ts b/src/groups/dao/groups.dao.ts
index 52e31cc1ce8fa5428157a2d8cf4ad1f8a68052a3..d8463779759d6c51b2cc7a4b85313792b02c1fd5 100644
--- a/src/groups/dao/groups.dao.ts
+++ b/src/groups/dao/groups.dao.ts
@@ -161,6 +161,16 @@ export class GroupsDao {
         resolve();
       });
     });
+    
+  findByStudentIdAndRemove = (id: string): Promise<Group | void> =>
+    new Promise((resolve, reject) => {
+      this._groupModel.updateMany({ students: id }, { $pull: { students: id } }, (err) => {
+        if (err) {
+          return reject(err.message);
+        }
+        resolve();
+      });
+    });
 
   findByParentAndRemove = (parent: string): Promise<Group | void> =>
     new Promise((resolve, reject) => {
diff --git a/src/groups/groups.service.ts b/src/groups/groups.service.ts
index 59b939eb984677467a322216b9e21a2182a053c9..608e968e32eaad7384901003b05a6f6bd4383bc6 100644
--- a/src/groups/groups.service.ts
+++ b/src/groups/groups.service.ts
@@ -45,4 +45,8 @@ export class GroupsService {
       }
     });
   }
+
+  deleteStudentFromGroups = (id: string): Promise<GroupEntity | void> =>
+    this._groupsDao.findByStudentIdAndRemove(id);
+  
 }
diff --git a/src/people/dao/people.dao.ts b/src/people/dao/people.dao.ts
index bb03a1deee6989170a1cfd947e8a83900ca97cec..9a15964cd34347a3f92e41852a8a663c1fb5712e 100644
--- a/src/people/dao/people.dao.ts
+++ b/src/people/dao/people.dao.ts
@@ -14,6 +14,8 @@ import config from 'src/config';
 import * as bcrypt from 'bcrypt';
 import { PeopleEntity } from '../entities/people.entity';
 import { CONFLICT } from 'src/shared/HttpError';
+import { InternshipService } from 'src/internships/internships.service';
+import { GroupsService } from 'src/groups/groups.service';
 
 @Injectable()
 export class PeopleDao {
@@ -25,6 +27,8 @@ export class PeopleDao {
   constructor(
     @InjectModel(People.name)
     private readonly _peopleModel: Model<People>,
+    private _internshipService: InternshipService,
+    private _groupService: GroupsService
   ) {}
 
   login = (email: string, password: string): Promise<People | void> =>
@@ -132,8 +136,10 @@ export class PeopleDao {
 
   findByIdAndRemove = (id: string): Promise<People | void> =>
     new Promise((resolve, reject) => {
-      this._peopleModel.deleteOne({ id: id }, {}, (err) => {
+      this._peopleModel.deleteOne({ _id: id }, {}, (err) => {
         if (err) reject(err.message);
+        this._internshipService.delete(id);
+        this._groupService.deleteStudentFromGroups(id);
         resolve();
       });
     });