diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTableViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTableViewer.java
index 54ac749..02d2339 100644
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTableViewer.java
+++ b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTableViewer.java
@@ -363,12 +363,27 @@
 					columnCount = 1;// If there are no columns do the first one
 	
 				ViewerRow viewerRowFromItem = getViewerRowFromItem(item);
+
+				boolean isVirtual = (getControl().getStyle() & SWT.VIRTUAL) != 0;
+
+				// If the control is virtual, we cannot use the cached viewer row object. See bug 188663.
+				if (isVirtual) {
+					viewerRowFromItem = (ViewerRow) viewerRowFromItem.clone();
+				}
+				
 				// Also enter loop if no columns added. See 1G9WWGZ: JFUIF:WINNT -
 				// TableViewer with 0 columns does not work
 				for (int column = 0; column < columnCount || column == 0; column++) {
 					ViewerColumn columnViewer = getViewerColumn(column);
-					columnViewer.refresh(updateCell(viewerRowFromItem,
-							column, element));
+					ViewerCell cellToUpdate = updateCell(viewerRowFromItem,
+							column, element);
+					
+					// If the control is virtual, we cannot use the cached cell object. See bug 188663.
+					if (isVirtual) {
+						cellToUpdate = new ViewerCell(cellToUpdate.getViewerRow(), cellToUpdate.getColumnIndex(), element);
+					}
+
+					columnViewer.refresh(cellToUpdate);
 	
 					// As it is possible for user code to run the event
 					// loop check here.
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
index 6de0f56..d0eafc0 100644
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
+++ b/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
@@ -890,10 +890,25 @@
 			columnCount = 1;
 
 		ViewerRow viewerRowFromItem = getViewerRowFromItem(item);
+
+		boolean isVirtual = (getControl().getStyle() & SWT.VIRTUAL) != 0;
+
+		// If the control is virtual, we cannot use the cached viewer row object. See bug 188663.
+		if (isVirtual) {
+			viewerRowFromItem = (ViewerRow) viewerRowFromItem.clone();
+		}
+		
 		for (int column = 0; column < columnCount; column++) {
 			ViewerColumn columnViewer = getViewerColumn(column);
-			columnViewer.refresh(updateCell(viewerRowFromItem,
-					column, element));
+			ViewerCell cellToUpdate = updateCell(viewerRowFromItem, column,
+					element);
+			
+			// If the control is virtual, we cannot use the cached cell object. See bug 188663.
+			if (isVirtual) {
+				cellToUpdate = new ViewerCell(cellToUpdate.getViewerRow(), cellToUpdate.getColumnIndex(), element);
+			}
+			
+			columnViewer.refresh(cellToUpdate);
 
 			// As it is possible for user code to run the event
 			// loop check here.
