diff --git a/blocks/course_overview/block_course_overview.php b/blocks/course_overview/block_course_overview.php
index 8ece30c..7f32a66 100644
--- a/blocks/course_overview/block_course_overview.php
+++ b/blocks/course_overview/block_course_overview.php
@@ -68,9 +68,20 @@ class block_course_overview extends block_base {
         $site = get_site();
         $course = $site; //just in case we need the old global $course hack
 
-        if (($courses_limit > 0) && (count($courses) >= $courses_limit)) {
-            //remove the 'marker' course that we retrieve just to see if we have more than $courses_limit
-            array_pop($courses);
+        if (is_enabled_auth('mnet')) {
+            $remote_courses = get_my_remotecourses();
+        }
+        if (empty($remote_courses)) {
+            $remote_courses = array();
+        }
+
+        if (($courses_limit > 0) && (count($courses)+count($remote_courses) >= $courses_limit)) {
+            // get rid of any remote courses that are above the limit
+            $remote_courses = array_slice($remote_courses, 0, $courses_limit - count($courses), TRUE);
+            if (count($courses) >= $courses_limit) {
+                //remove the 'marker' course that we retrieve just to see if we have more than $courses_limit
+                array_pop($courses);
+            }
             $morecourses = true;
         }
 
@@ -87,13 +98,13 @@ class block_course_overview extends block_base {
             }
         }
 
-        if (empty($courses)) {
+        if (empty($courses) && empty($remote_courses)) {
             $content[] = get_string('nocourses','my');
         } else {
             ob_start();
 
             require_once $CFG->dirroot."/course/lib.php";
-            print_overview($courses);
+            print_overview($courses, $remote_courses);
 
             $content[] = ob_get_contents();
             ob_end_clean();
diff --git a/course/lib.php b/course/lib.php
index 101f73f..4d37219 100644
--- a/course/lib.php
+++ b/course/lib.php
@@ -843,7 +843,7 @@ function print_log_graph($course, $userid=0, $type="course.png", $date=0) {
 }
 
 
-function print_overview($courses) {
+function print_overview($courses, $remote_courses=array()) {
     global $CFG, $USER, $DB, $OUTPUT;
 
     $htmlarray = array();
@@ -860,11 +860,11 @@ function print_overview($courses) {
     }
     foreach ($courses as $course) {
         echo $OUTPUT->box_start("coursebox");
-        $linkcss = '';
+        $attributes = array('title' => format_string($course->fullname));
         if (empty($course->visible)) {
-            $linkcss = 'class="dimmed"';
+            $attributes['class'] = 'dimmed';
         }
-        echo $OUTPUT->heading('<a title="'. format_string($course->fullname).'" '.$linkcss.' href="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'">'. format_string($course->fullname).'</a>', 3);
+        echo $OUTPUT->heading(html_writer::link("{$CFG->wwwroot}/course/view.php?id={$course->id}", format_string($course->fullname), $attributes), 3);
         if (array_key_exists($course->id,$htmlarray)) {
             foreach ($htmlarray[$course->id] as $modname => $html) {
                 echo $html;
@@ -872,6 +872,17 @@ function print_overview($courses) {
         }
         echo $OUTPUT->box_end();
     }
+
+    if (!empty($remote_courses)) {
+        echo $OUTPUT->heading(get_string('remotecourses','mnet'));
+    }
+    foreach ($remote_courses as $course) {
+        echo $OUTPUT->box_start("coursebox");
+        $attributes = array('title' => format_string($course->fullname));
+        echo $OUTPUT->heading(html_writer::link("{$CFG->wwwroot}/auth/mnet/jump.php?hostid={$course->hostid}&amp;wantsurl=/course/view.php%3Fid={$course->remoteid}", format_string($course->shortname), $attributes)
+                              . ' (' . format_string($course->hostname) . ')', 3);
+        echo $OUTPUT->box_end();
+    }
 }
 
 

