diff --git a/src/components/proxy/proxy-global.tsx b/src/components/proxy/proxy-global.tsx
index b2b4b1c4e65edc3bc3524f98f0f73260ae5ccb80..9ddb2974f36ec28c3d85a402b99d427856949082 100644
--- a/src/components/proxy/proxy-global.tsx
+++ b/src/components/proxy/proxy-global.tsx
@@ -91,8 +91,24 @@ const ProxyGlobal = (props: Props) => {
 
   useEffect(() => {
     if (groupName === "DIRECT") setNow("DIRECT");
-    if (groupName === "GLOBAL") setNow(curProxy || "DIRECT");
-  }, [groupName, curProxy]);
+    else if (groupName === "GLOBAL") {
+      if (profiles) {
+        const current = profiles.current;
+        const profile = profiles.items?.find((p) => p.uid === current);
+
+        profile?.selected?.forEach((item) => {
+          if (item.name === "GLOBAL") {
+            if (item.now && item.now !== curProxy) {
+              updateProxy("GLOBAL", item.now).then(() => setNow(item!.now!));
+              mutate("getProxies");
+            }
+          }
+        });
+      }
+
+      setNow(curProxy || "DIRECT");
+    }
+  }, [groupName, curProxy, profiles]);
 
   return (
     <>