  	}
  
   	if ((limit_command_output == limited_proxy_name) &&
-@@ -2694,8 +2819,7 @@
+@@ -2687,8 +2817,7 @@
  		}
  	} 
  

 
  	if ((limit_command_output == limited_proxy_name) &&
 	    get_lock_on_limited_proxy)
@@ -2712,25 +2836,6 @@
 		return(NULL);
 	}
 

+
+	if (active) {
+		return 0;
+	}
+
+	if ( globus_thread_set_model( "pthread" ) ) {
+		grid_proxy_errmsg = "failed to activate Globus";
+		return -1;
+	}
+
+	if ( globus_module_activate(GLOBUS_GSI_CREDENTIAL_MODULE) ) {
