--- trackback.module-4.5.0	2005-01-23 21:16:34.000000000 -0600
+++ trackback.module	2005-01-23 21:57:13.000000000 -0600
@@ -205,13 +205,19 @@
     foreach ($trackback_node->trackback_urls_array as $url) {
       if ($url != '') {
         $http_reply = drupal_http_request($url, $headers = array('Content-Type' => 'application/x-www-form-urlencoded'), 'POST', implode('&', $str));
-  
-        db_query('REPLACE INTO {trackback_sent} (nid, url, successful) VALUES (%d, \'%s\', %d)', $trackback_node->nid, $url, $http_reply->error ? 0 : 1);
+
+	if(db_result(db_query("SELECT nid, url FROM {trackback_sent} WHERE nid = %d AND url = '%s'", $trackback_node->nid, $url)))
+	{
+	    db_query("UPDATE {trackback_sent} SET nid = %d, url = '%s', successful = %d WHERE nid = %d AND url = '%s'", $trackback_node->nid, $url, $http_reply->error ? 0 : 1);
+	}
+	else
+	{
+	    db_query('INSERT INTO {trackback_sent} (nid, url, successful) VALUES (%d, \'%s\', %d)', $trackback_node->nid, $url, $http_reply->error ? 0 : 1);
+	}
       }
     }
     $trackback_node = NULL; 
   }
-  
 }
 
 
