diff --git a/wcomponents-core/src/main/java/com/github/bordertech/wcomponents/render/webxml/WTableRenderer.java b/wcomponents-core/src/main/java/com/github/bordertech/wcomponents/render/webxml/WTableRenderer.java
index <HASH>..<HASH> 100755
--- a/wcomponents-core/src/main/java/com/github/bordertech/wcomponents/render/webxml/WTableRenderer.java
+++ b/wcomponents-core/src/main/java/com/github/bordertech/wcomponents/render/webxml/WTableRenderer.java
@@ -149,7 +149,10 @@ final class WTableRenderer extends AbstractWebXmlRenderer {
 			boolean multiple = table.getSelectMode() == SelectMode.MULTIPLE;

 			xml.appendTagOpen("ui:rowSelection");

 			xml.appendOptionalAttribute("multiple", multiple, "true");

-			xml.appendOptionalAttribute("toggle", table.getToggleSubRowSelection(), "true");

+

+			boolean toggleSubRows = multiple && table.getToggleSubRowSelection() &&

+					WTable.ExpandMode.NONE != table.getExpandMode();

+			xml.appendOptionalAttribute("toggle", toggleSubRows, "true");

 			if (multiple) {

 				switch (table.getSelectAllMode()) {

 					case CONTROL:
Enhanced renderer

Added more constraints around when WTableRenderer outputs the toggle
attribute on ui:rowSelection. Part of #<I>