Index: trunk/src/org/expeditee/io/ExpReader.java
===================================================================
--- trunk/src/org/expeditee/io/ExpReader.java	(revision 1497)
+++ trunk/src/org/expeditee/io/ExpReader.java	(revision 1498)
@@ -20,4 +20,5 @@
 
 import java.io.BufferedReader;
+import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
@@ -409,4 +410,5 @@
 
 	public static int getVersion(String fullpath) {
+		if (fullpath == null) return -1;
 		try {
 			BufferedReader reader = new BufferedReader(new FileReader(fullpath));
@@ -425,5 +427,8 @@
 			reader.close();
 		} catch (Exception e) {
-			e.printStackTrace();
+			//e.printStackTrace();
+			// When this exception goes off, it is because it is trying to check if a frame that has yet to be saved
+			// to the filesystem has a version number greater than in memory one.  This only happens for new frames, 
+			// so is not a problem.
 		}
 		return -1;
@@ -431,4 +436,5 @@
 	
 	public static String redirectTo(String fullPath) {
+		if (fullPath == null) return null;
 		try {
 			BufferedReader reader = new BufferedReader(new FileReader(fullPath));
@@ -442,6 +448,8 @@
 			}
 			reader.close();
-		} catch (Exception e) {
-			e.printStackTrace();
+		} catch (IOException e) {
+			//e.printStackTrace();
+			// When this exception goes off, it is because it is trying to check if a frame that has yet to be saved
+			// to the filesystem has a redirect.  This comes out in teh wash later on when a redirect is next checked.
 		}
 		return null;
Index: trunk/src/org/expeditee/settings/Settings.java
===================================================================
--- trunk/src/org/expeditee/settings/Settings.java	(revision 1497)
+++ trunk/src/org/expeditee/settings/Settings.java	(revision 1498)
@@ -254,6 +254,6 @@
 	private static void generateSettingsTree(String page, Text text) {
 		Frame parent = text.getParentOrCurrentFrame();
-		FrameCreator frames = new FrameCreator(parent.getFramesetName(), parent.getPath(), page, FrameCreator.ExistingFramesetOptions.AppendSegregatedFrames, false, null);
-		text.setLink(frames.getName());
+		FrameCreator frameCreator = new FrameCreator(parent.getFramesetName(), parent.getPath(), page, FrameCreator.ExistingFramesetOptions.AppendSegregatedFrames, false, null);
+		text.setLink(frameCreator.getName());
 		
 		// Add subpages of the current page by recursing
@@ -265,14 +265,14 @@
 				}
 				System.out.println("@Settings: Generating " + name);
-				generateSettingsTree(k, frames.addText(name.substring(0, 1).toUpperCase() + name.substring(1), null, null, null, false));
+				generateSettingsTree(k, frameCreator.addText(name.substring(0, 1).toUpperCase() + name.substring(1), null, null, null, false));
 			}
 		}
 		
 		// Start building current page
-		frames.setLastY(frames.getLastY() + 20);
+		frameCreator.setLastY(frameCreator.getLastY() + 20);
 		// 	Add Settings of the current page
 		PageDescriptor pd = _pages.get(page);
 		if (pd == null) {
-			frames.save();
+			frameCreator.save();
 			return;
 		}
@@ -290,8 +290,8 @@
 			int x = 0, y = 0;
 			
-			Frame currentFrame = frames.getCurrentFrame();
+			Frame currentFrame = frameCreator.getCurrentFrame();
 			if (key.toLowerCase().equals("pass")) {
 				// Special case for Password widgets
-				Text passwordWidgetText = frames.addText("iw: org.expeditee.items.widgets.Passwsord", null, null, null, false);
+				Text passwordWidgetText = frameCreator.addText("iw: org.expeditee.items.widgets.Passwsord", null, null, null, false);
 				Password pw = new Password(passwordWidgetText, null);
 				pw.setPassword("");
@@ -317,5 +317,5 @@
 				}
 				settingRepresentation.setID(currentFrame.getNextItemID());
-				frames.addItem(settingRepresentation, false);				
+				frameCreator.addItem(settingRepresentation, false);				
 				x = settingRepresentation.getX() + settingRepresentation.getBoundsWidth();
 				y = settingRepresentation.getY();
@@ -326,10 +326,10 @@
 			Text tooltip = currentFrame.addText(x, y, "// " + setting.getTooltip(), null);
 			tooltip.rebuild(true);
-			if (tooltip.getY() + tooltip.getBoundsHeight() > frames.getLastY()) {
-				frames.setLastY(tooltip.getY() + tooltip.getBoundsHeight());
-			}
-		}
-		
-		frames.save();
+			if (tooltip.getY() + tooltip.getBoundsHeight() > frameCreator.getLastY()) {
+				frameCreator.setLastY(tooltip.getY() + tooltip.getBoundsHeight());
+			}
+		}
+		
+		frameCreator.save();
 	}
 }
