diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java
index 6bbcbc5..0ea762d 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java
@@ -42,13 +42,16 @@
 		getLexer().reset(new HtmlStripParserInput(html).init());
 	}
 	
-	public String getDefaultStyle() {
-		return (String)getTextStyles().getToken(null).getData();
+	
+	public String getRootStyle() {
+		final var textStyles= (CssTextStyleManager)getTextStyles();
+		return textStyles.getRootStyleToken().getData();
 	}
 	
 	@Override
 	public void handleSettingsChanged(final Set<String> groupIds, final Map<String, Object> options) {
-		((CssTextStyleManager)getTextStyles()).handleSettingsChanged(groupIds, options);
+		final var textStyles= (CssTextStyleManager)getTextStyles();
+		textStyles.handleSettingsChanged(groupIds, options);
 		super.handleSettingsChanged(groupIds, options);
 	}
 	
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java
index 710b2c4..7225934 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java
@@ -423,7 +423,7 @@
 		synchronized (this.rCodeScanner) {
 			this.rCodeScanner.setHtml(html);
 			writer.write("<span style=\""); //$NON-NLS-1$
-			writer.write(this.rCodeScanner.getDefaultStyle());
+			writer.write(this.rCodeScanner.getRootStyle());
 			writer.write("\">"); //$NON-NLS-1$
 			
 			IToken token;
