--- relativity.module.orig	2009-11-11 14:14:13.000000000 +0200
+++ relativity.module	2009-11-11 14:22:49.000000000 +0200
@@ -1044,16 +1044,19 @@ function relativity_delete_relationships
  * so we can manage our additional data appropriately.
  */
 function relativity_nodeapi(&$node, $op, $teaser, $page) {
-  if (is_numeric(arg(4))) {
+  if ('parent' == arg(3) && is_numeric(arg(4))) {
     //check if parent node actually exists
-    if (db_result(db_query("SELECT COUNT(nid) FROM {node} WHERE nid=%d", arg(4)))) {
+    if (db_result(db_query("SELECT nid FROM {node} WHERE nid = %d", arg(4)))) {
       if (array_key_exists(arg(2), relativity_node_list())) {
         $node->parent_node = arg(4);
       }
     }
   }
   elseif ($_POST['parent_node']) {
-    $node->parent_node = $_POST['parent_node'] + 0;
+    $node->parent_node = (int)$_POST['parent_node'];
+  }
+  elseif ($node->nid && $check_parent = db_result(db_query("SELECT parent_nid FROM {relativity} WHERE nid = %d", $node->nid))) {
+    $node->parent_node = $check_parent;
   }
 
   switch ($op) {
