diff --git a/engine/api/group/node_group.go b/engine/api/group/node_group.go
index a6c3e7bee2..c561d754f8 100644
--- a/engine/api/group/node_group.go
+++ b/engine/api/group/node_group.go
@@ -21,9 +21,9 @@ func LoadGroupsByNode(db gorp.SqlExecutor, nodeID int64) ([]sdk.GroupPermission,
 	rows, err := db.Query(query, nodeID)
 	if err != nil {
 		if err == sql.ErrNoRows {
-			return nil, err
+			return nil, nil
 		}
-		return nil, err
+		return nil, sdk.WithStack(err)
 	}
 	defer rows.Close()
 
@@ -32,7 +32,7 @@ func LoadGroupsByNode(db gorp.SqlExecutor, nodeID int64) ([]sdk.GroupPermission,
 		var group sdk.Group
 		var perm int
 		if err := rows.Scan(&group.ID, &group.Name, &perm); err != nil {
-			return groups, err
+			return groups, sdk.WithStack(err)
 		}
 		groups = append(groups, sdk.GroupPermission{
 			Group:      group,
diff --git a/engine/api/workflow/dao.go b/engine/api/workflow/dao.go
index 150d08b907..8c2a12de95 100644
--- a/engine/api/workflow/dao.go
+++ b/engine/api/workflow/dao.go
@@ -155,6 +155,15 @@ func (w *Workflow) PostGet(db gorp.SqlExecutor) error {
 		w.WorkflowData = data
 	}
 
+	nodes := w.WorkflowData.Array()
+	for i := range nodes {
+		var err error
+		nodes[i].Groups, err = group.LoadGroupsByNode(db, nodes[i].ID)
+		if err != nil {
+			return sdk.WrapError(err, "cannot load node groups")
+		}
+	}
+
 	return nil
 }
 
diff --git a/engine/api/workflow_group.go b/engine/api/workflow_group.go
index d507debb51..b5e9fc937c 100644
--- a/engine/api/workflow_group.go
+++ b/engine/api/workflow_group.go
@@ -22,8 +22,9 @@ func (api *API) deleteWorkflowGroupHandler() service.Handler {
 		key := vars["key"]
 		name := vars["permWorkflowName"]
 		groupName := vars["groupName"]
+		u := deprecatedGetUser(ctx)
 
-		proj, err := project.Load(api.mustDB(), api.Cache, key, deprecatedGetUser(ctx), project.LoadOptions.WithIntegrations)
+		proj, err := project.Load(api.mustDB(), api.Cache, key, u, project.LoadOptions.WithIntegrations)
 		if err != nil {
 			return sdk.WrapError(err, "unable to load projet")
 		}
@@ -31,7 +32,7 @@ func (api *API) deleteWorkflowGroupHandler() service.Handler {
 		options := workflow.LoadOptions{
 			WithoutNode: true,
 		}
-		wf, err := workflow.Load(ctx, api.mustDB(), api.Cache, proj, name, deprecatedGetUser(ctx), options)
+		wf, err := workflow.Load(ctx, api.mustDB(), api.Cache, proj, name, u, options)
 		if err != nil {
 			return sdk.WrapError(err, "deleteWorkflowGroupHandler")
 		}