diff --git a/src/fr/inrialpes/exmo/align/service/CacheImpl.java b/src/fr/inrialpes/exmo/align/service/CacheImpl.java
index 08dbd66762f4666a844e7cb5bb95dd5384177075..2d4183b6478fb311af5bf8edf394c1bde77b439b 100644
--- a/src/fr/inrialpes/exmo/align/service/CacheImpl.java
+++ b/src/fr/inrialpes/exmo/align/service/CacheImpl.java
@@ -570,11 +570,19 @@ public class CacheImpl {
 
     public void unstoreAlignment( String id, Alignment alignment ) throws SQLException, AlignmentException {
 	Statement st = createStatement();
-	String query = "DELETE FROM extension WHERE id='"+id+"'";
+	String query = null;
+	for ( Cell c : alignment ) {
+	    String cellid = c.getId();
+	    if ( cellid != null && !cellid.equals("") ) {
+		query = "DELETE FROM extension WHERE id='"+cellid+"'";
+		st.executeUpdate(query);
+	    }
+	}
+	query = "DELETE FROM cell WHERE id='"+id+"'";
 	st.executeUpdate(query);
-	query = "DELETE FROM alignment WHERE id='"+id+"'";
+	query = "DELETE FROM extension WHERE id='"+id+"'";
 	st.executeUpdate(query);
-	query = "DELETE FROM cell WHERE id='"+id+"'";
+	query = "DELETE FROM alignment WHERE id='"+id+"'";
 	st.executeUpdate(query);
 	alignment.setExtension( SVCNS, STORED, (String)null);
 	st.close();
@@ -653,8 +661,7 @@ public class CacheImpl {
 			st.executeUpdate(query);
 		    }
 		    if ( cellid != null && !cellid.equals("") && c.getExtensions() != null ) {
-		    	// JE: I must now store all the extensions
-		    	// JE:EXT
+		    	// Store extensions
 			for ( String[] ext : c.getExtensions() ) {
 			    String uri = ext[0];
 			    String tag = ext[1];
diff --git a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
index 1ce3bf8049f50fa3f558d397ac95f380aae85ebd..0bac60f043b897ef76baa5a66339cff6d38dbac3 100644
--- a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
+++ b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
@@ -492,7 +492,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 	//System.err.println("HTML["+perf+"]");
 	// REST get
 	String msg = "";
-	if ( perf.equals("listalignments") ){
+	if ( perf.equals("listalignments") ) {
 	    msg = "<h1>Available alignments</h1><ul compact=\"1\">";
 	    for ( Alignment al : manager.alignments() ) {
 		String id = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID );
@@ -501,7 +501,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 		msg += "<li><a href=\"../html/retrieve?method=fr.inrialpes.exmo.align.impl.renderer.HTMLRendererVisitor&id="+id+"\">"+pid+"</a></li>";
 	    }
 	    msg += "</ul>";
-	} if ( perf.equals("manalignments") ){ // Manage ailignments
+	} else if ( perf.equals("manalignments") ){ // Manage ailignments
 	    msg = "<h1>Available alignments</h1><ul compact=\"1\">";
 	    for ( Alignment al : manager.alignments() ) {
 		String id = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID );
@@ -510,7 +510,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 		msg += "<li><a href=\"../html/retrieve?method=fr.inrialpes.exmo.align.impl.renderer.HTMLRendererVisitor&id="+id+"\">"+pid+"</a> "+al.nbCells()+" <a href=\"../html/errrazze?id="+id+"\">DEL</a></li>";
 	    }
 	    msg += "</ul>";
-	} if ( perf.equals("errrazze") ){ // Suppress an alignment
+	} else if ( perf.equals("errrazze") ){ // Suppress an alignment
 	    String id = params.getProperty("id");
 	    if ( id != null && !id.equals("") ) { // Erase it
 		Message answer = manager.erase( new Message(newId(),(Message)null,myId,serverId,id, params) );