diff --git a/WORKSPACE b/WORKSPACE
index 4bbfd4c..028abcc 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "321fab31e6fbb63c940aad3252f0167f88d52e2e",
+    commit = "f96f4bce9ffafeaa200fc009a378921c512fcb0a",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
diff --git a/gr-task-plugin/gr-task-plugin.html b/gr-task-plugin/gr-task-plugin.html
index ea59b9f..c6c3746 100644
--- a/gr-task-plugin/gr-task-plugin.html
+++ b/gr-task-plugin/gr-task-plugin.html
@@ -83,7 +83,7 @@
   <template>
     <template is="dom-repeat" as="task" items="[[tasks]]">
       <template is="dom-if" if="[[_can_show(show_all, task)]]">
-        <li>
+        <li style="padding: 0.2em;">
           <style>
             /* Matching colors with core code. */
             .green {
@@ -115,9 +115,11 @@
           [[task.message]]
         </li>
       </template>
+      <ul style="list-style-type:none; margin: 0 0 0 0; padding: 0 0 0 2em;">
       <gr-task-plugin-tasks
           tasks="[[task.sub_tasks]]"
           show_all$="[[show_all]]"> </gr-task-plugin-tasks>
+      </ul>
     </template>
   </template>
   <script>
diff --git a/gr-task-plugin/gr-task-plugin.js b/gr-task-plugin/gr-task-plugin.js
index e49f493..50c49ef 100644
--- a/gr-task-plugin/gr-task-plugin.js
+++ b/gr-task-plugin/gr-task-plugin.js
@@ -130,7 +130,7 @@
       return icon;
     },
 
-    _computeShowOnNeedsAndBlockedFilter(task) {
+    _isFailOrReadyOrInvalid(task) {
       switch (task.status) {
         case 'FAIL':
         case 'READY':
@@ -140,6 +140,12 @@
       return false;
     },
 
+    _computeShowOnNeedsAndBlockedFilter(task) {
+      return this._isFailOrReadyOrInvalid(task) ||
+        (task.sub_tasks && task.sub_tasks.some(t =>
+          this._computeShowOnNeedsAndBlockedFilter(t)));
+    },
+
     _compute_counts(task) {
       this._all_count++;
       switch (task.status) {
diff --git a/test/docker/gerrit/Dockerfile b/test/docker/gerrit/Dockerfile
index 94c40ff..6d65974 100755
--- a/test/docker/gerrit/Dockerfile
+++ b/test/docker/gerrit/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerritcodereview/gerrit:3.1.15-ubuntu18
+FROM gerritcodereview/gerrit:3.2.10-ubuntu20
 
 USER root
 
