diff --git a/src/main/java/org/olat/course/statistic/StatisticCourseNodesController.java b/src/main/java/org/olat/course/statistic/StatisticCourseNodesController.java
index ef4b58506b39d9da28af23f397684e901314f10c..ce9f009c36532dd982a6881c69600c351df9cea2 100644
--- a/src/main/java/org/olat/course/statistic/StatisticCourseNodesController.java
+++ b/src/main/java/org/olat/course/statistic/StatisticCourseNodesController.java
@@ -171,6 +171,7 @@ public class StatisticCourseNodesController extends BasicController implements A
 					String ident = te.getNodeId();
 					TreeNode selectedNode = courseTree.getTreeModel().getNodeById(ident);
 					doSelectNode(ureq, selectedNode);
+					initTools();
 				}
 			}
 		}
@@ -188,6 +189,7 @@ public class StatisticCourseNodesController extends BasicController implements A
 				String selNodeId = nclr.getIdent();
 				courseTree.setSelectedNodeId(selNodeId);
 				doSelectNode(ureq, nclr);
+				initTools();
 			}
 		}
 	}
@@ -210,9 +212,6 @@ public class StatisticCourseNodesController extends BasicController implements A
 		if(currentCtrl != null) {
 			listenTo(currentCtrl);
 			layoutCtr.setCol3(currentCtrl.getInitialComponent());
-			if(currentCtrl instanceof TooledController) {
-				((TooledController)currentCtrl).initTools();
-			}
 		} else {
 			layoutCtr.setCol3(new Panel("empty"));
 		}
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentTestStatisticsController.java b/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentTestStatisticsController.java
index 459144a918f526c8955b01589c5d75201c238e9d..743052e2573805045d33253ca9833a1f18829a6f 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentTestStatisticsController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/QTI21AssessmentTestStatisticsController.java
@@ -105,10 +105,8 @@ public class QTI21AssessmentTestStatisticsController extends BasicController imp
 			printLink = LinkFactory.createToolLink("print" + CodeHelper.getRAMUniqueID(), translate("print"), this);
 			printLink.setIconLeftCSS("o_icon o_icon_print o_icon-lg");
 			printLink.setPopup(new LinkPopupSettings(680, 500, "qti-stats"));
-			stackPanel.addTool(printLink, Align.right);
 
 			downloadRawLink = LinkFactory.createToolLink("download" + CodeHelper.getRAMUniqueID(), translate("download.raw.data"), this);
-			stackPanel.addTool(downloadRawLink, Align.right);
 		} else {
 			printLink = null;
 			downloadRawLink = LinkFactory.createLink("download.raw.data", mainVC, this);
@@ -116,7 +114,6 @@ public class QTI21AssessmentTestStatisticsController extends BasicController imp
 			mainVC.put("download", downloadRawLink);
 		}
 		downloadRawLink.setIconLeftCSS("o_icon o_icon_download o_icon-lg");
-
 		
 		if(withFilter && (resourceResult.canViewAnonymousUsers() || resourceResult.canViewNonParticipantUsers())) {
 			filterCtrl = new UserFilterController(ureq, getWindowControl(),
@@ -241,12 +238,13 @@ public class QTI21AssessmentTestStatisticsController extends BasicController imp
 		List<ItemInfos> itemInfos = new ArrayList<>(statisticItems.size());
 		for (AssessmentItemStatistic statisticItem: statisticItems) {
 			AssessmentItem item = statisticItem.getAssessmentItem();
-			
-			String label = Integer.toString(++i);
-			String text = item.getTitle(); 
-			d1.add(statisticItem.getAverageScore(), label);
-			d2.add(statisticItem.getNumOfCorrectAnswers(), label);
-			itemInfos.add(new ItemInfos(label, text));
+			if(item != null) {
+				String label = Integer.toString(++i);
+				String text = item.getTitle(); 
+				d1.add(statisticItem.getAverageScore(), label);
+				d2.add(statisticItem.getNumOfCorrectAnswers(), label);
+				itemInfos.add(new ItemInfos(label, text));
+			}
 		}
 		
 		mainVC.contextPut("itemInfoList", itemInfos);