diff --git a/scripts/create-users.js b/scripts/create-users.js
index ccb1e342ebbea7d0cbafc201335a6e10701dbe95..c3066f963cde54802a3e6b40517b7b78e4bae3e8 100644
--- a/scripts/create-users.js
+++ b/scripts/create-users.js
@@ -33,7 +33,7 @@ const modifyUser = async (
   return modUser
 }
 
-const createOrModifyUserIfNeeded = (
+const createOrModifyUserIfNeeded = async (
   apiClient,
   username,
   password,
@@ -42,7 +42,7 @@ const createOrModifyUserIfNeeded = (
 ) => {
   try {
     // Await is needed here to force the catch clausule if something goes wrong
-    return apiClient.createUser(
+    return await apiClient.createUser(
       username,
       password,
       organization,
@@ -62,7 +62,8 @@ const createUsers = async () => {
     process.env.TRACEBLOCK_CHAINCODE
   )
 
-  Object.entries(usersByOrg).forEach(async ([org, values]) => {
+  for (let el of Object.entries(usersByOrg)) {
+    const [org, values] = el
     const admin = values.find(v => v.role === "admin")
 
     await apiClient.signIn(admin.user, readPassword(admin.user, org), org)
@@ -81,7 +82,7 @@ const createUsers = async () => {
       )
 
     await Promise.all(prom)
-  })
+  }
 
   console.log("Users created")
 }