--- webform.module.ori	Thu Nov 05 04:21:00 2009
+++ webform.module	Thu Nov 05 06:20:28 2009
@@ -2157,13 +2157,17 @@ function _webform_filter_values($string,
     $replacements['unsafe']['%username'] = isset($user->name) ? $user->name : '';
     $replacements['unsafe']['%useremail'] = isset($user->mail) ? $user->mail : '';
     $replacements['unsafe']['%ip_address'] = ip_address();
+
+    // Doesn't really belong here with user things, but works.
+    $special_tokens['unsafe']['%server'] = $_SERVER;
+  }
+
+  if (!isset($replacements['unsafe']['%profile[uid]'])) {
     if ($user->uid && module_exists('profile')) {
       profile_load_profile($user);
     }
     $special_tokens['unsafe']['%profile'] = $user;
 
-    // Doesn't really belong here with user things, but works.
-    $special_tokens['unsafe']['%server'] = $_SERVER;
   }
 
   foreach ($special_tokens as $safe_state => $tokens) {
