diff --git a/lib/weblib.php b/lib/weblib.php
index cdf37c31f1c..abb3484003d 100644
--- a/lib/weblib.php
+++ b/lib/weblib.php
@@ -3665,13 +3665,13 @@ function print_continue($link, $return=false) {
             $link = $CFG->wwwroot .'/';
         }
     }
-    
+
     $options = array();
-    $linkparts = parse_url($link);
+    $linkparts = parse_url(str_replace('&', '&', $link));
     if (isset($linkparts['query'])) {
         parse_str($linkparts['query'], $options);
     }
-    
+
     $output .= '<div class="continuebutton">';
 
     $output .= print_single_button($link, $options, get_string('continue'), 'get', $CFG->framename, true);