Index: feedapi_mapper.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/Attic/feedapi_mapper.admin.inc,v
retrieving revision 1.1.2.6
diff -u -p -r1.1.2.6 feedapi_mapper.admin.inc
--- feedapi_mapper.admin.inc	13 Aug 2009 23:54:55 -0000	1.1.2.6
+++ feedapi_mapper.admin.inc	14 Aug 2009 17:45:45 -0000
@@ -157,14 +161,19 @@ function feedapi_mapper_toggle_unique($p
     $node->type = str_replace('-', '_', $param);
     $path = 'admin/content/node-type/'. $param .'/map';
   }
+  elseif (!_feedapi_mapper_is_overridden($param->nid)) {
+    $node = new stdClass();
+    $node->type = $param->type;
+    $path = "node/{$param->nid}/map";
+    $param = $node->type;
+  }
   else {
     $node = $param;
     $path = "node/{$node->nid}/map";
     $param = $node->nid;
   }
   $mapping = feedapi_mapper_load_mapping($node);
-  feedapi_mapper_delete_mapping($param, $key);
-  feedapi_mapper_add_mapping($param, $key, $mapping['mapping'][$key], !$mapping['unique'][$key]);
+  feedapi_mapper_set_unique($param, $key, !$mapping['unique'][$key]);
   drupal_goto($path);
 }
 
Index: feedapi_mapper.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi_mapper/feedapi_mapper.module,v
retrieving revision 1.2.2.19
diff -u -p -r1.2.2.19 feedapi_mapper.module
--- feedapi_mapper.module	12 Aug 2009 22:07:24 -0000	1.2.2.19
+++ feedapi_mapper.module	14 Aug 2009 17:45:45 -0000
@@ -131,9 +131,8 @@ function feedapi_mapper_menu() {
       'file' => 'feedapi_mapper.admin.inc',
     );
     $items['admin/content/node-type/'. $type_url_str .'/map/unique/%/%'] = array(
-      'page callback' => 'feedapi_mapper_unique_toggle',
+      'page callback' => 'feedapi_mapper_toggle_unique',
       'page arguments' => array(3, 6, 7),
-      'load arguments' => array(3),
       'access callback' => 'feedapi_mapper_access_mapper',
       'access arguments' => array(3),
       'file' => 'feedapi_mapper.admin.inc',
@@ -294,7 +293,25 @@ function feedapi_mapper_get_uniques($fee
   return $uniques;
 }
 
-
+/**
+ * Sets the unique bit of the given $key at $param
+ *
+ * @param $param
+ *   Either a node id or a node type.
+ * @param $source
+ *   A serialized string mapping to the source feed element.
+ * @param $unique
+ *   TRUE or FALSE
+ *
+ */
+function feedapi_mapper_set_unique($param, $source, $unique) {
+  $node = new stdClass();
+  $field = is_numeric($param) ? 'nid' : 'type';
+  $node->{$field} = $param;
+  $mapping = feedapi_mapper_override_mapping($node);
+  $mapping['unique_elements'][$source] = $unique;
+  feedapi_mapper_save_mapping($param, $mapping);
+}
 
 /**
  * Returns feed item element on given path.
