diff --git a/lib/endpoint.js b/lib/endpoint.js
index <HASH>..<HASH> 100644
--- a/lib/endpoint.js
+++ b/lib/endpoint.js
@@ -1708,10 +1708,12 @@ function setOrExport(which, endpoint, param, value, callback) {
     callback = value ;
   }
 
-  const __x = (callback) => {
+  const __x = async(callback) => {
+    const p = [];
     for (const [key, value] of Object.entries(obj)) {
-      endpoint.execute(which, `${key}=${value}`);
+      p.push(endpoint.execute(which, `${key}=${value}`));
     }
+    await Promise.all(p);
     callback(null);
   } ;
fix regression bug: setting multiple channel variables was returning early