diff --git a/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheetLayout_Test.java b/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheetLayout_Test.java
index e182db5..bbe10c2 100644
--- a/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheetLayout_Test.java
+++ b/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheetLayout_Test.java
@@ -5,7 +5,7 @@
 
 import junit.framework.TestCase;
 
-import org.eclipse.swt.RWTFixture;
+import org.eclipse.rwt.Fixture;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.widgets.*;
@@ -419,7 +419,7 @@
   }
   
   protected void setUp() throws Exception {
-    RWTFixture.setUp();
+    Fixture.setUp();
     display = new Display();
     shell = new Shell( display, SWT.SHELL_TRIM );
     shell.setSize( DEFAULT_SHELL_WIDTH, DEFAULT_SHELL_HEIGHT );
@@ -446,6 +446,6 @@
       shell = null;
       display = null;
     }
-    RWTFixture.tearDown();
+    Fixture.tearDown();
   }
 }
diff --git a/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheet_Test.java b/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheet_Test.java
index 7100fbc..f871544 100644
--- a/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheet_Test.java
+++ b/tests/org.eclipse.rap.rwt.custom.test/src/org/eclipse/swt/custom/SpreadSheet_Test.java
@@ -4,8 +4,8 @@
 
 import junit.framework.TestCase;
 
+import org.eclipse.rwt.Fixture;
 import org.eclipse.rwt.lifecycle.PhaseId;
-import org.eclipse.swt.RWTFixture;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.graphics.Rectangle;
@@ -73,7 +73,7 @@
     assertEquals( "", sheet.getText( ROW_TO_SELECT, COLUMN_TO_SELECT ) );
 
     sheet.setText( TEST_TEXT, ROW_TO_SELECT, COLUMN_TO_SELECT );
-    RWTFixture.fakePhase( PhaseId.PREPARE_UI_ROOT );
+    Fixture.fakePhase( PhaseId.PREPARE_UI_ROOT );
     shell.layout( true, true );
     CellPosition position
       = new CellPosition( ROW_TO_SELECT, COLUMN_TO_SELECT );
@@ -85,7 +85,7 @@
   
   public void testSlider() {
     SpreadSheet spreadSheet = new SpreadSheet( shell, SWT.NONE );
-    RWTFixture.fakePhase( PhaseId.PREPARE_UI_ROOT );
+    Fixture.fakePhase( PhaseId.PREPARE_UI_ROOT );
     shell.layout();
     
     Slider hScroll = null;
@@ -172,7 +172,7 @@
 
   public void testClientArea() {
     SpreadSheet spreadSheet = new SpreadSheet( shell, SWT.NONE );
-    RWTFixture.fakePhase( PhaseId.PREPARE_UI_ROOT );
+    Fixture.fakePhase( PhaseId.PREPARE_UI_ROOT );
     shell.layout();
 
     Rectangle shellClientArea = shell.getClientArea();
@@ -329,7 +329,7 @@
   }
 
   protected void setUp() throws Exception {
-    RWTFixture.setUp();
+    Fixture.setUp();
     display = new Display();
     shell = new Shell( display, SWT.SHELL_TRIM );
     shell.setSize( 600, 400 );
@@ -342,7 +342,7 @@
       shell = null;
       display = null;
     }
-    RWTFixture.tearDown();
+    Fixture.tearDown();
   }
 
 }
