Index: moodle/course/lib.php
--- moodle/course/lib.php Base (1.538.2.79)
+++ moodle/course/lib.php Locally Modified (Based On 1.538.2.79)
@@ -1853,9 +1853,11 @@
             echo '</td>';
         }
 
-        echo '<td valign="top" class="category image">'.$catimage.'</td>';
+        //echo '<td valign="top" class="category image">'.$catimage.'</td>';
+        echo '<td valign="top"></td>';
         echo '<td valign="top" class="category name">';
-        echo '<a '.$catlinkcss.' href="'.$CFG->wwwroot.'/course/category.php?id='.$category->id.'">'. format_string($category->name).'</a>';
+        echo '<a '.$catlinkcss.' href="'.$CFG->wwwroot.'/course/category.php?id='.$category->id.'">';
+        echo '<span class="category image">' . $catimage. '</span> ' . format_string($category->name).'</a>';
         echo '</td>';
         echo '<td class="category info">&nbsp;</td>';
         echo '</tr>';

Index: moodle/lib/weblib.php
--- moodle/lib/weblib.php Base (1.970.2.143)
+++ moodle/lib/weblib.php Locally Modified (Based On 1.970.2.143)
@@ -6432,9 +6432,14 @@
             foreach ($list as $key => $string) {
                 echo '<li class="r'. $row .'">';
                 if ($icons) {
-                    echo '<div class="icon column c0">'. $icons[$key] .'</div>';
+                    $linkhtml =  extract_initial_link_tag($string);
+                    
+                    // Make block icon clickable if configured and there is html in the block text
+                    if ($linkhtml) { 
+                        echo '<div class="column c1"><a '. $linkhtml['url'] . '> '.$icons[$key] .  $linkhtml['name'].'</a></div>';
                 }
-                echo '<div class="column c1">'. $string .'</div>';
+                } else {
+                    echo '<div class="column c1"><a '. $linkhtml['url'] . '>'. $linkhtml['name'].'</a></div>';                }
                 echo "</li>\n";
                 $row = $row ? 0:1;
             }
@@ -7099,4 +7104,27 @@
 }
 
 // vim:autoindent:expandtab:shiftwidth=4:tabstop=4:tw=140:
+
+/**
+ * Extracts the a beginign link tag from a html string if it is the first
+ * item in the string, otherwise  returns 0 for no
+ * link found (or if there is somethign else before the link)
+ *
+ * @param string $inputhtml html to extract link from
+ *
+ */
+function extract_initial_link_tag($inputhtml = ''){
+    $regexp = "/^\s*(<a ([^>]+)>)/i";   
+    $links = array();
+    if (preg_match($regexp, $inputhtml, $matches) ) {
+        $links['url'] = $matches[2];
+        $regexp4name = "/(>\S+)/";
+        if ( preg_match($regexp4name, $inputhtml, $results) ) {
+            $links['name'] = substr($results[1],1);         
+        }
+        return $links;
+    } else {
+        return 0;
+    }
+ }
 ?>
