Index: tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java
===================================================================
--- tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java	(revision 2283)
+++ tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java	(revision 2284)
@@ -616,11 +616,17 @@
 
 	public boolean notifyStartOfCompute() throws Exception {
 		if (annotationArea != null) {
-			AnnotationType type = getSelectedAnnotationType();
-			if (type != null) {
-				annotations.setViewAnnotation(type);
-				annotations.setAnnotationOverlap(true);
-			}
+			annotationArea.getDisplay().syncExec(new Runnable() {
+				@Override
+				public void run() {
+					AnnotationType type = getSelectedAnnotationType();
+					if (type != null) {
+						annotations.setViewAnnotation(type);
+						annotations.setAnnotationOverlap(true);
+					}
+				}
+			});
+			
 		}
 		return true;
 	}
@@ -630,9 +636,13 @@
 
 		// update annotation column width
 		if (annotationArea != null) {
-			annotationColumn.pack();
-
-			annotationColumn.setResizable(true);
+			annotationArea.getDisplay().syncExec(new Runnable() {
+				@Override
+				public void run() {
+					annotationColumn.pack();
+					annotationColumn.setResizable(true);
+				}
+			});
 		} else { 
 			annotationColumn.setWidth(0);
 		}
Index: tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java
===================================================================
--- tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java	(revision 2283)
+++ tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java	(revision 2284)
@@ -532,35 +532,35 @@
 			@Override
 			public void widgetDefaultSelected(SelectionEvent e) { }
 		});
-		Button saveAnnotationButton = new Button(annotationArea, SWT.PUSH);
-		saveAnnotationButton.setToolTipText(KRAnnotationUIMessages.saveTheAnnotations);
-		saveAnnotationButton.setImage(IImageKeys.getImage(IImageKeys.PENCIL_SAVE));
-
-		saveAnnotationButton.addSelectionListener(new SelectionListener() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-
-				try {
-					AnnotationManager am = KRAnnotationEngine.getAnnotationManager(corpus);
-					if (am != null && am.hasChanges()) {
-						// && MessageDialog.openConfirm(e.display.getActiveShell(), "Confirm annotation save", "Saving annotation will close this editor. Are you sure you want to save annotations right now ?")
-						JobHandler saveJob = SaveAnnotations.save(corpus.getMainCorpus());
-						
-						if (saveJob == null || saveJob.getResult() == Status.CANCEL_STATUS) {
-							// update editor corpus
-							System.out.println("Fail to save annotations of the corpus."); //$NON-NLS-1$
-						}
-						
-						CorporaView.refresh();
-					}
-				} catch(Exception ex) {
-					ex.printStackTrace();
-				}
-			}
-
-			@Override
-			public void widgetDefaultSelected(SelectionEvent e) { }
-		});
+//		Button saveAnnotationButton = new Button(annotationArea, SWT.PUSH);
+//		saveAnnotationButton.setToolTipText(KRAnnotationUIMessages.saveTheAnnotations);
+//		saveAnnotationButton.setImage(IImageKeys.getImage(IImageKeys.PENCIL_SAVE));
+//
+//		saveAnnotationButton.addSelectionListener(new SelectionListener() {
+//			@Override
+//			public void widgetSelected(SelectionEvent e) {
+//
+//				try {
+//					AnnotationManager am = KRAnnotationEngine.getAnnotationManager(corpus);
+//					if (am != null && am.hasChanges()) {
+//						// && MessageDialog.openConfirm(e.display.getActiveShell(), "Confirm annotation save", "Saving annotation will close this editor. Are you sure you want to save annotations right now ?")
+//						JobHandler saveJob = SaveAnnotations.save(corpus.getMainCorpus());
+//						
+//						if (saveJob == null || saveJob.getResult() == Status.CANCEL_STATUS) {
+//							// update editor corpus
+//							System.out.println("Fail to save annotations of the corpus."); //$NON-NLS-1$
+//						}
+//						
+//						CorporaView.refresh();
+//					}
+//				} catch(Exception ex) {
+//					ex.printStackTrace();
+//				}
+//			}
+//
+//			@Override
+//			public void widgetDefaultSelected(SelectionEvent e) { }
+//		});
 		
 		Button closeButton = new Button(annotationArea, SWT.PUSH);
 		closeButton.setToolTipText(KRAnnotationUIMessages.closeTheToolbarWithoutSaving);
@@ -654,43 +654,48 @@
 
 	public void updateAnnotationWidgetStates() {
 		if (annotationArea == null) return; // :)
+		annotationArea.getDisplay().syncExec(new Runnable() {
 
-		if (addRemoveCombo.getSelectionIndex() == 0) { // add is default
+			@Override
+			public void run() {
+				if (addRemoveCombo.getSelectionIndex() == 0) { // add is default
 
-			if (getSelectedAnnotationType() != null) {
-				annotationValuesText.setEnabled(true);
+					if (getSelectedAnnotationType() != null) {
+						annotationValuesText.setEnabled(true);
 
-				affectAnnotationButton.setEnabled(true);
-				affectCombo.setEnabled(true);
-			} else {
-				annotationValuesText.setEnabled(false);
+						affectAnnotationButton.setEnabled(true);
+						affectCombo.setEnabled(true);
+					} else {
+						annotationValuesText.setEnabled(false);
 
-				affectAnnotationButton.setEnabled(false);
-				affectCombo.setEnabled(false);
-			}
-		} else {
-			annotationValuesText.setEnabled(false);
+						affectAnnotationButton.setEnabled(false);
+						affectCombo.setEnabled(false);
+					}
+				} else {
+					annotationValuesText.setEnabled(false);
 
-			if (getSelectedAnnotationType() != null) {
-				affectAnnotationButton.setEnabled(true);
-				affectCombo.setEnabled(true);
-			} else {
-				affectAnnotationButton.setEnabled(false);
-				affectCombo.setEnabled(false);
-			}
-		}
+					if (getSelectedAnnotationType() != null) {
+						affectAnnotationButton.setEnabled(true);
+						affectCombo.setEnabled(true);
+					} else {
+						affectAnnotationButton.setEnabled(false);
+						affectCombo.setEnabled(false);
+					}
+				}
 
-			if (infosAnnotTypeSelectedLink != null) {
-				infosAnnotTypeSelectedLink.setEnabled(getSelectedAnnotationType() != null);
+					if (infosAnnotTypeSelectedLink != null) {
+						infosAnnotTypeSelectedLink.setEnabled(getSelectedAnnotationType() != null);
+					}
+				if (addTypedValueLink != null) {
+					addTypedValueLink.setEnabled(getSelectedAnnotationType() != null);
+				}
+
+				if (concordance == null) {
+					affectAnnotationButton.setEnabled(false);
+					affectCombo.setEnabled(false);
+				}
 			}
-		if (addTypedValueLink != null) {
-			addTypedValueLink.setEnabled(getSelectedAnnotationType() != null);
-		}
-
-		if (concordance == null) {
-			affectAnnotationButton.setEnabled(false);
-			affectCombo.setEnabled(false);
-		}
+		});
 	}
 
 	protected void deleteAnnotationValues(List<? extends Match> matches, AnnotationType type, JobHandler job) {
@@ -856,11 +861,16 @@
 
 	public boolean notifyStartOfCompute() throws Exception {
 		if (annotationArea != null) {
-			AnnotationType type = getSelectedAnnotationType();
-			if (type != null) {
-				annotations.setViewAnnotation(type);
-				annotations.setAnnotationOverlap(true);
-			}
+			annotationArea.getDisplay().syncExec(new Runnable() {
+				@Override
+				public void run() {
+					AnnotationType type = getSelectedAnnotationType();
+					if (type != null) {
+						annotations.setViewAnnotation(type);
+						annotations.setAnnotationOverlap(true);
+					}
+				}
+			});
 		}
 		return true;
 	}
@@ -870,9 +880,13 @@
 
 		// update annotation column width
 		if (annotationArea != null) {
-			annotationColumn.pack();
-
-			annotationColumn.setResizable(true);
+			annotationArea.getDisplay().syncExec(new Runnable() {
+				@Override
+				public void run() {
+					annotationColumn.pack();
+					annotationColumn.setResizable(true);
+				}
+			});
 		} else { 
 			annotationColumn.setWidth(0);
 		}
Index: tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/CQPAnnotationManager.java
===================================================================
--- tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/CQPAnnotationManager.java	(revision 2283)
+++ tmp/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/CQPAnnotationManager.java	(revision 2284)
@@ -264,7 +264,7 @@
 					start = m.getStart();
 					end = m.getEnd();
 				}
-				if(smatch[1] < start) { // next struct
+				if (smatch[1] < start) { // next struct
 					iStruct++;
 					if (iStruct < Nstruct)
 						smatch = CQPSearchEngine.getCqiClient().struc2Cpos(sup.getQualifiedName(), iStruct);
@@ -310,7 +310,11 @@
 					values.add(null);
 					annotationsStartEnd.add(null);
 					iMatch++;
-				} 
+				} else {
+					values.add(null);
+					annotationsStartEnd.add(null);
+					iMatch++;
+				}
 			}
 		}
 
