Index: tmp/org.txm.annotation.rcp/src/org/txm/annotation/rcp/editor/AnnotationExtension.java
===================================================================
--- tmp/org.txm.annotation.rcp/src/org/txm/annotation/rcp/editor/AnnotationExtension.java	(revision 3138)
+++ tmp/org.txm.annotation.rcp/src/org/txm/annotation/rcp/editor/AnnotationExtension.java	(revision 3139)
@@ -294,14 +294,18 @@
 				try {
 					monitor.setTaskName("Updating corpus XML-TXM files");
 
+					Log.info("Saving annotations...");
 					boolean needToUpdateIndexes = false;
 					// System.out.println("Saving annotations...");
 					if (annotationAreas != null && annotationAreas.size() > 0) {
 						for (AnnotationArea aa : annotationAreas) {
-							needToUpdateIndexes = needToUpdateIndexes || (aa.needToUpdateIndexes() && aa.isDirty() && aa.save());
+							needToUpdateIndexes = needToUpdateIndexes 
+									|| (aa.isDirty() 
+											&& aa.save()
+											&& aa.needToUpdateIndexes());
 						}
 					}
-
+					
 					if (needToUpdateIndexes) {
 						final MainCorpus corpus = editor.getResult().getFirstParent(MainCorpus.class);
 						monitor.setTaskName("Updating corpus indexes and editions");
@@ -311,7 +315,9 @@
 
 								@Override
 								public void run() {
+									Log.info("Done.");
 									CorporaView.refreshObject(corpus);
+									saveButton.setEnabled(false);
 								}
 							});
 							return Status.OK_STATUS;
@@ -322,12 +328,21 @@
 							System.out.println("Fix XML-TXM files and call command 'UpdateCorpus'");
 							return Status.CANCEL_STATUS;
 						}
+					} else {
+						this.syncExec(new Runnable() {
+
+							@Override
+							public void run() {
+								Log.info("Done.");
+								saveButton.setEnabled(false);
+							}
+						});
+						return Status.OK_STATUS;
 					}
 				} catch(ThreadDeath ex) {
 					Log.info(TXMUIMessages.executionCanceled);
 					return Status.CANCEL_STATUS;
 				}
-				return Status.OK_STATUS;
 			}
 		};
 		job.schedule();
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitConcordanceToolbar.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitConcordanceToolbar.java	(revision 3138)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitConcordanceToolbar.java	(revision 3139)
@@ -595,13 +595,16 @@
 		}
 	}
 	
+	
 	@Override
 	public boolean save() {
-		try {
-			return URSCorpora.saveCorpus(corpus);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
+		// System.out.println();
+		Log.info("Saving URS annotation...");
+		if (URSCorpora.saveCorpus(corpus)) {
+			Log.info("Done: URS annotations saved.");
+			return true;
+		} else {
+			Log.warning("Error: URS annotation not saved.");
 			return false;
 		}
 	}
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitToolbar.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitToolbar.java	(revision 3138)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitToolbar.java	(revision 3139)
@@ -1195,16 +1195,6 @@
 	}
 	
 	@Override
-	public boolean save() {
-		// System.out.println("Saving Analec annotation...");
-		if (URSCorpora.saveCorpus(analecCorpus)) {
-			this.extension.getSaveButton().setEnabled(false);
-			return true;
-		}
-		return false;
-	}
-	
-	@Override
 	public String getName() {
 		return "Unit";
 	}
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/SchemaToolbar.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/SchemaToolbar.java	(revision 3138)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/SchemaToolbar.java	(revision 3139)
@@ -939,11 +939,6 @@
 	}
 
 	@Override
-	public boolean save() {
-		return URSCorpora.saveCorpus(analecCorpus);
-	}
-
-	@Override
 	public String getName() {
 		return "Schema annotation";
 	}
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/URSAnnotationToolbar.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/URSAnnotationToolbar.java	(revision 3138)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/URSAnnotationToolbar.java	(revision 3139)
@@ -86,6 +86,19 @@
 	public abstract void select(Element currentElement);
 	
 	@Override
+	public boolean save() {
+		// System.out.println();
+		Log.info("Saving URS annotation...");
+		if (URSCorpora.saveCorpus(analecCorpus)) {
+			Log.info("Done: URS annotations saved.");
+			return true;
+		} else {
+			Log.warning("Error: URS annotation not saved.");
+			return false;
+		}
+	}
+	
+	@Override
 	public boolean install(TXMEditor<? extends TXMResult> txmeditor, AnnotationExtension extension, Composite parent, int position) throws Exception {
 		
 		this.extension = extension;
