diff --git a/admin/mnet/enr_course_enrol.php b/admin/mnet/enr_course_enrol.php
index 3cbd93d..e57f25f 100644
--- a/admin/mnet/enr_course_enrol.php
+++ b/admin/mnet/enr_course_enrol.php
@@ -85,9 +85,21 @@
     $mnet_request->set_method('enrol/mnet/enrol.php/course_enrolments');
     $mnet_request->add_param($course->remoteid, 'int');
     $mnet_request->send($mnet_peer);
-    $all_enrolled_users = $mnet_request->response;
-
+    $raw_all_enrolled_users = $mnet_request->response;
     unset($mnet_request);
+
+    $all_enrolled_users = array();
+    if (!empty($raw_all_enrolled_users)) {
+        // Try to repair keying of remote users array, numeric usernames get lost in the fracas
+        foreach ($raw_all_enrolled_users as $username => $userdetails) {
+            if (empty($userdetails['username']) || !is_numeric($username)) {
+                //Not able to repair, or no need to repair
+                $all_enrolled_users[$username] = $userdetails;
+            } else {
+                $all_enrolled_users[$userdetails['username']] = $userdetails;
+            }
+        }
+    }
     
     $select = '';
     $all_enrolled_usernames = '';
diff --git a/enrol/mnet/enrol.php b/enrol/mnet/enrol.php
index c5ad040..5d86254 100644
--- a/enrol/mnet/enrol.php
+++ b/enrol/mnet/enrol.php
@@ -287,6 +287,7 @@ class enrolment_plugin_mnet {
             $returnarray[$user->username] = array('enrol' => $user->enrol, 
                                                   'timemodified' => $user->timemodified, 
                                                   'shortname' => $user->shortname, 
+                                                  'username' => $user->username,
                                                   'name' => $user->name);
         }
         return $returnarray;
