--- assetfield.module  2008-03-18 18:34:20.000000000 -0400
+++ assetfield.module 2008-03-26 23:27:40.000000000 -0400
@@ -305,7 +305,12 @@ function assetfield_field($op, $node, $f
           if (!empty($asset)) {
             if ($asset['nid']) {
               $asset_node = node_load($asset['nid']);
+              $asset_file = array_pop($asset_node->files);
+              $asset_node->field_asset = array();
+              $asset_node->field_asset[0]['filemime'] = $asset_file->filemime;
+              $asset_node->field_asset[0]['filepath'] = $asset_file->filepath;
               $items[$delta] = array_merge($items[$delta], $asset_node->field_asset[$delta]);
+
               $return = module_invoke_all('assetfield_alter', $op, $delta, $items, $asset_node, $teaser, $page);
               if (!empty($return)) {
                 $items[$delta] = array_merge($items[$delta], $return);
@@ -383,7 +388,7 @@ function assetfield_field_formatter($fie
       return theme('imagecache', substr($formatter, 11), $referenced_node->field_asset[0]['filepath'], $referenced_node->title, $referenced_node->title);
     }
     else {
-      return theme('assetfield', $referenced_node);
+      return theme('assetfield_field', $referenced_node);
     }
   }
 }
@@ -434,7 +439,7 @@ function _assetfield_load_vocab($name) {
   return $terms;
 }

-function theme_assetfield($node) {
+function theme_assetfield_field($node) {
   $file = $node->field_asset[0];
   if (is_file($file['filepath'])) {
     if ($file['fid'] == 'upload') {
