diff --git a/src/com/mirantis/mk/Salt.groovy b/src/com/mirantis/mk/Salt.groovy
index 5133ff8..27c6883 100644
--- a/src/com/mirantis/mk/Salt.groovy
+++ b/src/com/mirantis/mk/Salt.groovy
@@ -306,8 +306,7 @@
     def out = [:]
     if(result['return']){
         for (int i=0; i<result['return'].size(); i++) {
-            def key = result['return'].keySet()[i]
-            def entry = result['return'][key]
+            def entry = result['return'][i]
             for (int j=0; j<entry.size(); j++) {
                 common.errorMsg("Entry is: ${entry}")
                 def nodeKey = entry.keySet()[j]
@@ -354,8 +353,7 @@
     def out = [:]
     if(result['return']){
         for (int i=0; i<result['return'].size(); i++) {
-            def key = result['return'].keySet()[i]
-            def entry = result['return'][key]
+            def entry = result['return'][i]
             for (int j=0; j<entry.size(); j++) {
                 common.errorMsg("Entry is: ${entry}")
                 def nodeKey = entry.keySet()[j]
