diff --git content_profile.module content_profile.module
index 48bc9d2..510aa0c 100644
--- content_profile.module
+++ content_profile.module
@@ -376,6 +376,13 @@ function _content_profile_node_delete($node) {
  */
 function content_profile_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
 
+  // UID not set correctly if correct user doesn't have right permissions for
+  // user tabs
+  if ($op == 'prepare' && is_content_profile($node) && !isset($node->nid) && isset($node->name)) {
+    if ($account = user_load(array('name' => $node->name))) {
+      $node->uid = $account->uid;
+    }
+  }
   if ($op == 'prepare' && is_content_profile($node) && !isset($node->nid) && $node->uid && !user_access('administer nodes') && arg(0) != 'admin') {
     // Check if this nodetype already exists
     if ($nid = content_profile_profile_exists($node, $node->uid)) {
