diff --git a/imagecache_token.module b/imagecache_token.module
index adabe04..963e7dd 100644
--- a/imagecache_token.module
+++ b/imagecache_token.module
@@ -94,7 +94,14 @@ function imagecache_token_tokens($type, $tokens, array $data = array(), array $o
           $output[] = $field[$attribute];
         }
         else {
-          $output[] = image_style_url($token, $field['uri']);
+          $uri = '';
+          if (!empty($field['uri'])) {
+            $uri = $field['uri'];
+          }
+          elseif ($file = file_load($field['fid'])) {
+            $uri = $file->uri;
+          }
+          $output[] = !empty($uri) ? image_style_url($token, $uri) : '';
         }
       }
       $replacements[$original] = implode(', ', $output);
