Index: /trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java
===================================================================
--- /trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java	(revision 1507)
+++ /trunk/src/org/expeditee/encryption/io/EncryptedExpWriter.java	(revision 1508)
@@ -35,4 +35,5 @@
 import org.expeditee.items.Line;
 import org.expeditee.items.Text;
+import org.expeditee.settings.UserSettings;
 import org.expeditee.settings.identity.secrets.KeyList;
 import org.expeditee.stats.SessionStats;
@@ -50,4 +51,11 @@
 	protected static final String TERMINATOR_WITH_CONTINUATION = TERMINATOR + "...";
 
+	/**
+	 * @return the labelnone
+	 */
+	public static String getLabelNone() {
+		return labelNone;
+	}
+	
 	public EncryptedExpWriter(String encryptionLabel) {
 		label = encryptionLabel;
@@ -93,4 +101,7 @@
 		if (_writer == null) { return; }
 		
+		if (UserSettings.UserName.get().equals(frame.getOwner())) {
+			updateHetrogeneousOwnerLabels(frame);
+		}
 		preOutputFrame();
 		writeHeader(frame);
@@ -261,4 +272,12 @@
 	}
 	
+	private void updateHetrogeneousOwnerLabels(Frame toUpdate) {
+		toUpdate.clearHetrogeneousFrameOwnerLabels();
+		Text[] userLabels = KeyList.UserLabels.get();
+		for (Text userLabel: userLabels) {
+			toUpdate.addToHetrogeneousFrameOwnerLabels(userLabel.getText());
+		}		
+	}
+	
 	private static byte[] EncryptSymmetric(byte[] toEncrypt, SecretKey key) {
 		try {
@@ -276,10 +295,3 @@
 		}
 	}
-
-	/**
-	 * @return the labelnone
-	 */
-	public static String getLabelNone() {
-		return labelNone;
-	}
 }
Index: /trunk/src/org/expeditee/gui/AttributeUtils.java
===================================================================
--- /trunk/src/org/expeditee/gui/AttributeUtils.java	(revision 1507)
+++ /trunk/src/org/expeditee/gui/AttributeUtils.java	(revision 1508)
@@ -213,5 +213,5 @@
 																Frame.class.getMethod("setEncryptionPermission", pEncPermission));
 			_FrameAttrib.put("HetrogeneousEncryptionLabels", 	Frame.class.getMethod("getHetrogeneousFrameOwnerLabels"), 
-																Frame.class.getMethod("addToHetrogeneousFrameOwnerLabels", pString));
+																null);
 			
 			// aliases for Standard frame attribute settings
Index: /trunk/src/org/expeditee/gui/Frame.java
===================================================================
--- /trunk/src/org/expeditee/gui/Frame.java	(revision 1507)
+++ /trunk/src/org/expeditee/gui/Frame.java	(revision 1508)
@@ -3008,7 +3008,11 @@
 	}
 	
+	public void setFrameEncryptionLabelOnLoad(String label) {
+		_encryptionLabel = label;
+	}
+	
 	public void setFrameEncryptionLabel(String label) {
-		if (label == null) {
-			_encryptionLabel = null;
+		if (label == null || label.equals(EncryptedExpWriter.getLabelNone())) {
+			_encryptionLabel = label;
 			return;
 		}
@@ -3080,10 +3084,5 @@
 	}
 	
-	public void addToHetrogeneousFrameOwnerLabels(String label) {
-		if (!UserSettings.UserName.get().equals(this.getOwner())) {
-			MessageBay.displayMessage("Only the owner of a frame is able to add hetrogeneous owner encryption labels.");
-			return;
-		}
-		
+	public void addToHetrogeneousFrameOwnerLabels(String label) {		
 		if (_hetrogeneousEncryptionLabels == null) {
 			_hetrogeneousEncryptionLabels = new ArrayList<String>();
@@ -3094,4 +3093,15 @@
 			_hetrogeneousEncryptionLabels.add(label);
 		}
+	}
+	
+	public void clearHetrogeneousFrameOwnerLabels() {
+		if (_hetrogeneousEncryptionLabels != null) {
+			_hetrogeneousEncryptionLabels.clear();
+		}
+	}
+	
+	public void setHomogeneousEncryptionLabelOnLoad(String label) {
+		this.setChanged(true);
+		_homogeneousEncryptionLabel = label;
 	}
 	
@@ -3145,13 +3155,13 @@
 		if (getGroupFrame() != null) {
 			Collection<Text> textItems = getGroupFrame().getTextItems();
+			String membersTag = "@members: ";
 			Stream<Text> memberLists = textItems.stream().filter(t -> 
 				t.getText().toLowerCase().startsWith("@owner: ") || 
-				t.getText().toLowerCase().startsWith("@members: "));
+				t.getText().toLowerCase().startsWith(membersTag));
 			for(Text t: memberLists.collect(Collectors.toList())) {
 				if (t.getText().toLowerCase().startsWith("@owner: ")) {
 					members.add(t.getText().substring(8));
-				} else if (t.getText().toLowerCase().startsWith("@members: ")) {
-					//10
-					String[] split = t.getText().substring(10).split(",");
+				} else if (t.getText().toLowerCase().startsWith(membersTag)) {
+					String[] split = t.getText().substring(membersTag.length()).split(",");
 					for (String m: split) {
 						members.add(m.trim());
Index: /trunk/src/org/expeditee/gui/FrameUtils.java
===================================================================
--- /trunk/src/org/expeditee/gui/FrameUtils.java	(revision 1507)
+++ /trunk/src/org/expeditee/gui/FrameUtils.java	(revision 1508)
@@ -499,5 +499,6 @@
 			groupFrame = toDisplay.getGroupFrame();
 			if (groupFrame == null) {
-				MessageBay.displayMessage("WARNING: There is no corrosponding " + group + "1 for the specified group " + group + ".  Group permissions will not apply.");
+				String msg = "This frame specifies the group " + group + " of which you are not a member.";
+				MessageBay.displayMessage(msg);
 			}
 		}
Index: /trunk/src/org/expeditee/io/DefaultFrameReader.java
===================================================================
--- /trunk/src/org/expeditee/io/DefaultFrameReader.java	(revision 1507)
+++ /trunk/src/org/expeditee/io/DefaultFrameReader.java	(revision 1508)
@@ -100,7 +100,7 @@
 			
 			// Encryption frame tags
-			_FrameTags.put('K', Frame.class.getMethod("setFrameEncryptionLabel", pString));
+			_FrameTags.put('K', Frame.class.getMethod("setFrameEncryptionLabelOnLoad", pString));
 			_FrameTags.put('E', Frame.class.getMethod("setFrameEncryptionPermission", pEncPermission));
-			_FrameTags.put('k', Frame.class.getMethod("setHomogeneousEncryptionLabel", pString));
+			_FrameTags.put('k', Frame.class.getMethod("setHomogeneousEncryptionLabelOnLoad", pString));
 			_FrameTags.put('e', Frame.class.getMethod("setEncryptionPermission", pEncPermission));
 			_FrameTags.put('a', Frame.class.getMethod("addToHetrogeneousFrameOwnerLabels", pString));
