Index: rdfproxy.module
===================================================================
--- rdfproxy.module	(revision 2759)
+++ rdfproxy.module	(working copy)
@@ -401,6 +401,26 @@
   switch ($op) {
     case 'load':
       // TODO
+      	// prevent recurission, don't want to do this on node view cause will be missing information. 
+      	static $rdfproxy_updating;
+      	
+      	if ($rdfproxy_updating[$node->nid]) return; 
+        $local_instances = db_query("SELECT  * FROM {rdfproxy_instances} WHERE type = 'node' AND id = %d", $node->nid);
+        $row = db_fetch_object($local_instances);
+        if ($row) {
+        	if ($row->expires <= time()) {
+        		$rdfproxy_updating[$node->nid] = 1;
+        		$new_node = rdfproxy_lookup(rdfproxy_profile_load($row->profile),$row->uri);
+        		if ($new_node->nid == $node->nid) {
+        			$node = $new_node;
+        			//update expires info
+        			$local_instances = db_query("SELECT  * FROM {rdfproxy_instances} WHERE type = 'node' AND id = %d", $node->nid);
+        			$row = db_fetch_object($local_instances);
+        		}
+        		unset($rdfproxy_updating[$node->nid]);
+        	}
+        	$node->rdfproxy = $row; 
+        }
       break;
     case 'delete':
       db_query("DELETE FROM {rdfproxy_instances} WHERE id = %d", $node->nid);      
