Index: trunk/src/org/expeditee/gui/FrameIO.java
===================================================================
--- trunk/src/org/expeditee/gui/FrameIO.java	(revision 1486)
+++ trunk/src/org/expeditee/gui/FrameIO.java	(revision 1487)
@@ -1093,5 +1093,5 @@
 	 *            	True if the saved frames counter should be incremented, false otherwise.
 	 * @param checkBackup
-	 *            	True if the frame should be checked for the back up tag
+	 *            	True if the frame should be checked for the backup tag
 	 */
 	public static String SaveFrame(Frame toSave, boolean inc, boolean checkBackup) {
@@ -1103,5 +1103,5 @@
 		}
 
-		// Dont save if the frame is protected and it exists
+		// Don't save if the frame is protected and it exists
 		if (checkBackup && toSave.isReadOnly()) {
 			_Cache.remove(toSave.getName().toLowerCase());
@@ -1109,5 +1109,5 @@
 		}
 
-		/* Dont save the frame if it has the noSave tag */
+		/* Don't save the frame if it has the noSave tag */
 		if (toSave.hasAnnotation("nosave")) {
 			Actions.LegacyPerformActionCatchErrors(toSave, null, "Restore");
@@ -1136,6 +1136,5 @@
 		// Check if the frame exists
 		if (checkBackup && fullPath == null) {
-			// The first time a frame with the backup tag is saved, dont back it
-			// up
+			// The first time a frame with the backup tag is saved, don't back it up
 			checkBackup = false;
 		}
@@ -1145,8 +1144,19 @@
 		try {
 			// if its a new frame or an existing Exp frame...
-			if (fullPath == null || fullPath.endsWith(ExpReader.EXTENTION)) {				
+			if (fullPath == null || fullPath.endsWith(ExpReader.EXTENTION)) {	
+				
+				// *** Don't you need to take the *name* of the frame in to account????
+				// *** to rule out the credentials frame?
+				String framesetName = toSave.getFramesetName();
+				String enryptionLabel = toSave.getEncryptionLabel();
+				
 				if (toSave.getNumber() != AuthenticatorBrowser.CREDENTIALS_FRAME && 
 						toSave.getEncryptionLabel() != null) {
+					// *** wasted repeat of getEncryptionLabel()
+					// does the order of the above if statement matter?
 					writer = new EncryptedExpWriter(toSave.getEncryptionLabel());
+					// **** If this doesn't take an encryption label, then why bother
+					// making it explicitly the EcryptedExpReader, given that 
+					// 'redirectTo()' below doesn't
 					savedVersion = EncryptedExpReader.getVersion(fullPath);
 				} else {
@@ -1167,5 +1177,5 @@
 			}
 			
-			// Check if the frame doesnt exist
+			// Check if the frame doesn't exist
 			// if (savedVersion < 0) {
 			// /*
@@ -1193,22 +1203,25 @@
 			//		be used to overwrite that file, it causes a false positive conflict.  Checking
 			//		for the zero version number fixes this.
-			String framesetName = toSave.getFramesetName();
-			boolean isBayFrameset = 
-					framesetName.equalsIgnoreCase(MessageBay.MESSAGES_FRAMESET_NAME) || 
-					framesetName.equalsIgnoreCase(MailBay.EXPEDITEE_MAIL_FRAMESET_NAME);
+			//String framesetName = toSave.getFramesetName();
+			boolean isBayFrameset = toSave.isBayFrameset();
+	
 			long fileLastModify = fullPath != null ? new File(fullPath).lastModified() : 0;
 			long frameLastModify = toSave.getLastModifyPrecise();
+
 			boolean fileModifyConflict = fileLastModify > frameLastModify && !isBayFrameset;
 			boolean versionConflict = savedVersion > toSave.getVersion() && !isBayFrameset;
+			
 			if ((fileModifyConflict || versionConflict) && savedVersion > 0) {
 				// remove this frame from the cache if it is there
 				// This will make sure links to the original are set correctly
 				_Cache.remove(toSave.getName().toLowerCase());
-				int nextnum = ReadINF(toSave.getPath(), toSave
-						.getFramesetName(), false) + 1;
+				
+				int nextnum = ReadINF(toSave.getPath(), toSave.getFramesetName(), false) + 1;
+				
 				SuspendCache();
 				Frame original = LoadFrame(toSave.getName());
 				toSave.setFrameNumber(nextnum);
 				ResumeCache();
+				
 				// Put the modified version in the cache
 				addToCache(toSave);
@@ -1239,7 +1252,7 @@
 				MessageBay.displayMessage(yourMessage);
 				EcosystemManager.getMiscManager().beep();
-			} else if (checkBackup
-					&& ItemUtils.ContainsExactTag(toSave.getSortedItems(),
-							ItemUtils.TAG_BACKUP)) {
+			} 
+			else if (checkBackup 
+					&& ItemUtils.ContainsExactTag(toSave.getSortedItems(), ItemUtils.TAG_BACKUP)) {
 				SuspendCache();
 				String oldFramesetName = toSave.getFramesetName() + "-old";
