Index: main/trunk/gli/src/org/greenstone/gatherer/Gatherer.java
===================================================================
--- main/trunk/gli/src/org/greenstone/gatherer/Gatherer.java	(revision 23016)
+++ main/trunk/gli/src/org/greenstone/gatherer/Gatherer.java	(revision 23031)
@@ -315,5 +315,6 @@
 	    if (fedora_info.isActive()) {
 		popupFedoraInfo();
-	    }
+	    }	
+
 		
 		open_collection_file_path = open_collection;
@@ -322,5 +323,5 @@
 				"general.open_collection"+Configuration.gliPropertyNameSuffix(), true);
 		}
-		if (no_load) {
+		if (no_load || (isGsdlRemote && open_collection_file_path.equals(""))) {
 		open_collection_file_path = null;
 		//		collectDirectoryHasChanged(); // make sure gsdlsite.cfg's collecthome defaults to GS' collect
@@ -329,6 +330,8 @@
 		// If opening a collection outside the standard GS collect folder, need
 	    // to open the non-standard collect folder that the collection resides in
-	    if (open_collection_file_path != null &&
-		!open_collection_file_path.startsWith(getDefaultGSCollectDirectoryPath(true))) {
+	    if (!isGsdlRemote
+			&& open_collection_file_path != null
+			&& !open_collection_file_path.startsWith(getDefaultGSCollectDirectoryPath(true)))
+		{
 			File collectFolder = null;
 			
@@ -349,7 +352,7 @@
 				    collectFolder = collectFolder.getParentFile();		    
 				}
-			}		
+			}
 			
-			if(!isGsdlRemote && (collectFolder == null || !collectFolder.exists())) {
+			if(collectFolder == null || !collectFolder.exists()) {
 				// if GLI config file specified no collectDir  (open_collection_file_path is "")
 				// OR if dealing with a local server but the collectdir no longer exists, 
@@ -366,5 +369,5 @@
 				if(Gatherer.GS3) {	// GS2's gsdlsite.cfg was taken care of when LocalLibraryServer was started up
 									// (LocalLibraryServer would also already have set glisite.cfg to the correct collecthome)
-				    String gsdlsitecfg = Configuration.gsdl3_path + File.separator 
+					String gsdlsitecfg = Configuration.gsdl3_path + File.separator 
 						+ "WEB-INF" + File.separator + "cgi" + File.separator + "gsdl3site.cfg";
 					Utility.updatePropertyConfigFile(gsdlsitecfg, "collecthome", defaultColDir); // no file separator
@@ -376,9 +379,8 @@
 				} else {
 					setCollectDirectoryPath(collectFolder.getAbsolutePath()); // now set this as the current collect folder
-				}
-					
-			}
-		}
-
+				}					
+			}			
+		}
+		
 	    // Finally, we're ready to find out the version of the remote Greenstone server 
 	    if(isGsdlRemote) {
@@ -557,4 +559,5 @@
 	    }
 	    
+		
 	} catch (Exception exception) {
 	    DebugStream.printStackTrace(exception);
Index: main/trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java
===================================================================
--- main/trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 23016)
+++ main/trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 23031)
@@ -507,5 +507,8 @@
 		// in applets when other users on a machine want to use an applet and GLI wants to load
 		// a collection left open from a previous session and *requires* the old user to authenticate
-		if(!Gatherer.isGsdlRemote) {
+		if(Gatherer.isGsdlRemote) {
+			Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), 
+				    true, "");			
+		} else {
 			Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), 
 				    true, CollectionManager.getLoadedCollectionColFilePath());
@@ -515,6 +518,6 @@
 	else {
 	    // if there was no open collection, then write out the collect dir path for next time
-		// IF this is not the default collect directory
-		if(Gatherer.getCollectDirectoryPath().equals(
+		// IF this is not the default collect directory and not a remote GLI/applet
+		if(Gatherer.isGsdlRemote || Gatherer.getCollectDirectoryPath().equals(
 				Gatherer.getDefaultGSCollectDirectoryPath(true))) {	
 			Configuration.setString("general.open_collection"+Configuration.gliPropertyNameSuffix(), 
