diff --git a/src/main/java/org/olat/group/ui/BusinessGroupTableModel.java b/src/main/java/org/olat/group/ui/BusinessGroupTableModel.java
index f5646ba4362d7f931f9636a98052d01f1f82ac83..eaf48cfc64929e847aa806ce17d0d48b6263c81e 100644
--- a/src/main/java/org/olat/group/ui/BusinessGroupTableModel.java
+++ b/src/main/java/org/olat/group/ui/BusinessGroupTableModel.java
@@ -91,5 +91,8 @@ public class BusinessGroupTableModel extends DefaultTableDataModel {
 	public BusinessGroup getBusinessGroupAt(int row) {
 		return (BusinessGroup) objects.get(row);
 	}
-
+	
+	public void removeBusinessGroup(BusinessGroup businessGroup) {
+		objects.remove(businessGroup);
+	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/group/ui/main/BGMainController.java b/src/main/java/org/olat/group/ui/main/BGMainController.java
index a8671243049394cf5c6474aa2d029ebbda0c1477..826863c41ba069523f3a243c9be1f79378ffc57a 100644
--- a/src/main/java/org/olat/group/ui/main/BGMainController.java
+++ b/src/main/java/org/olat/group/ui/main/BGMainController.java
@@ -318,7 +318,15 @@ public class BGMainController extends MainLayoutBasicController implements Activ
 			TableEvent te = (TableEvent) event;
 			String actionid = te.getActionId();
 			int rowid = te.getRowId();
-			currBusinessGroup = groupListModel.getBusinessGroupAt(rowid);
+			BusinessGroup selectedBusinessGroup = groupListModel.getBusinessGroupAt(rowid);
+			//reload the group
+			currBusinessGroup = BusinessGroupManagerImpl.getInstance().loadBusinessGroup(selectedBusinessGroup.getKey(), false);
+			if(currBusinessGroup == null) {
+				groupListModel.removeBusinessGroup(selectedBusinessGroup);
+				groupListCtr.modelChanged();
+				return;
+			}
+			
 			String trnslP = currBusinessGroup.getName();
 
 			if (actionid.equals(TABLE_ACTION_LAUNCH)) {
diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java b/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
index 128e859a8605d1101d54c961526bf362e7cdabbc..c2aa075ae9a1e68c1ea44b425b1d99d7951a2366 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
@@ -119,4 +119,14 @@ public class BusinessGroupTableModelWithType extends DefaultTableDataModel imple
 		BGTableItem wrapped = (BGTableItem)objects.get(row);
 		return wrapped.getBusinessGroup();
 	}
+	
+	public void removeBusinessGroup(BusinessGroup bg) {
+		for(int i=objects.size(); i-->0; ) {
+			BGTableItem wrapped = (BGTableItem)objects.get(i);
+			if(bg.equals(wrapped.getBusinessGroup())) {
+				objects.remove(i);
+				return;
+			}
+		}
+	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/group/ui/management/BGManagementController.java b/src/main/java/org/olat/group/ui/management/BGManagementController.java
index 1278b32c2955189bd61684d8ffb3615a3f661c11..83a354bd1fbd68098dcb6c889234a721246f90e6 100644
--- a/src/main/java/org/olat/group/ui/management/BGManagementController.java
+++ b/src/main/java/org/olat/group/ui/management/BGManagementController.java
@@ -572,8 +572,12 @@ public class BGManagementController extends MainLayoutBasicController implements
 				TableEvent te = (TableEvent) event;
 				String actionid = te.getActionId();
 				int rowid = te.getRowId();
-				this.currentGroup = groupListModel.getBusinessGroupAt(rowid);
-				if (actionid.equals(CMD_GROUP_EDIT)) {
+				BusinessGroup selectedGroup = groupListModel.getBusinessGroupAt(rowid);
+				currentGroup = BusinessGroupManagerImpl.getInstance().loadBusinessGroup(selectedGroup.getKey(), false);
+				if(currentGroup == null) {
+					groupListModel.removeBusinessGroup(selectedGroup);
+					groupListCtr.modelChanged();
+				} else if (actionid.equals(CMD_GROUP_EDIT)) {
 					doGroupEdit(ureq);
 				} else if (actionid.equals(CMD_GROUP_RUN)) {
 					doGroupRun(ureq);