diff --git a/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java b/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java
index c48cdfd..3430cc3 100644
--- a/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java
+++ b/bundles/org.eclipse.rap.rwt/src/org/eclipse/rap/rwt/internal/protocol/ClientMessageConst.java
@@ -42,6 +42,7 @@
   public static final String EVENT_MENU_DETECT = "MenuDetect";
   public static final String EVENT_FOCUS_IN = "FocusIn";
   public static final String EVENT_FOCUS_OUT = "FocusOut";
+  public static final String EVENT_SET_DATA = "SetData";
 
   // CTabFolder specific events
   public static final String EVENT_FOLDER = "Folder";
diff --git a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java
index 182046c..f61808e 100644
--- a/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java
+++ b/bundles/org.eclipse.rap.rwt/widgetkits/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler.java
@@ -15,6 +15,7 @@
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_EXPAND;
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_PARAM_ITEM;
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SELECTION;
+import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SET_DATA;
 import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.find;
 import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
 
@@ -70,6 +71,8 @@
       handleNotifyExpand( tree, properties );
     } else if( EVENT_COLLAPSE.equals( eventName ) ) {
       handleNotifyCollapse( tree, properties );
+    } else if( EVENT_SET_DATA.equals( eventName ) ) {
+      handleNotifySetData( tree, properties );
     } else {
       super.handleNotify( tree, eventName, properties );
     }
@@ -200,6 +203,13 @@
     tree.notifyListeners( SWT.Collapse, event );
   }
 
+  /*
+   * PROTOCOL NOTIFY SetData
+   * ignored, SetData event is fired when set topItemIndex
+   */
+  public void handleNotifySetData( Tree tree, JsonObject properties ) {
+  }
+
   private TreeItem getItem( Tree tree, String itemId ) {
     TreeItem item = null;
     String[] idParts = itemId.split( "#" );
diff --git a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java
index a67df79..2efb47c 100644
--- a/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java
+++ b/tests/org.eclipse.rap.rwt.test/src/org/eclipse/swt/internal/widgets/treekit/TreeOperationHandler_Test.java
@@ -22,6 +22,7 @@
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_MOUSE_DOWN;
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_MOUSE_UP;
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SELECTION;
+import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SET_DATA;
 import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_TRAVERSE;
 import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
 import static org.junit.Assert.assertArrayEquals;
@@ -29,6 +30,7 @@
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -439,6 +441,13 @@
   }
 
   @Test
+  public void testHandleNotifySetData() {
+    handler.handleNotify( EVENT_SET_DATA, new JsonObject() );
+
+    verify( mockedTree, never() ).notifyListeners( eq( SWT.SetData ), any( Event.class ) );
+  }
+
+  @Test
   public void testHandleCallRenderToolTipText() {
     handler = new TreeOperationHandler( tree );
     TreeItem item = new TreeItem( tree, SWT.NONE );
