diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/model/ReviewTableLabelProvider.java b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/model/ReviewTableLabelProvider.java
index adc4ad8..4b5f914 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/model/ReviewTableLabelProvider.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/model/ReviewTableLabelProvider.java
@@ -146,11 +146,13 @@
 	 */
 	private Image getVerifyStateImage(int aState) {
 		switch (aState) {
+		case 2:
 		case 1:
 			return fImageRegistry.get(CHECKED_IMAGE);
 		case 0:
 			break;
 		case -1:
+		case -2:
 			return fImageRegistry.get(NOT_OK_IMAGE);
 		default:
 			break;
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java
index a8ae406..e15c62d 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java
@@ -351,7 +351,7 @@
 		fSearchForLabel = new Label(leftSearchForm, SWT.NONE);
 		fSearchForLabel.setText(SEARCH_LABEL);
 		
-		// Label for the SEARH request
+		// Label for the SEARCH request
 		fSearchResulLabel = new Label(leftSearchForm, SWT.NONE);
 		fSearchResulLabel.setLayoutData(new GridData(REPO_WIDTH, SWT.DEFAULT));
 
@@ -465,13 +465,11 @@
 					SynchronizeEditorAction synchAction = new SynchronizeEditorAction();
 					synchAction.selectionChanged(new StructuredSelection(taskEditor));
 					synchAction.run();
-
-//JBJB Seems not needed, we have not received the synch yet anyway, but we already have the LABELS FLAGS
-//					if (task instanceof R4EGerritTask) {
-//						//Refresh the table column with the appropriate data, so the "CR" and "V" column gets updated
-//						fReviewTable.updateReviewItem ((R4EGerritTask) task);
-//						refresh() ;
-//					}
+					if (task instanceof R4EGerritTask) {
+						//Refresh the table column with the appropriate data, so the "CR" and "V" column gets updated
+						fReviewTable.updateReviewItem((R4EGerritTask) task);
+						refresh() ;
+					}
 					
 				}
 				System.out.println("JBJB editorinout: " + editorInput.toString() + "\n\t editor id: " + editorId);
