--- imagecache.module.old	2008-05-03 22:37:18.846887752 +0200
+++ imagecache.module	2008-05-03 22:34:48.580731680 +0200
@@ -552,11 +552,15 @@ function imagecache_field_formatter($fie
     $item = array_merge($item,  _imagecache_file_load($item['fid']));
   }
 
+  if (strpos($formatter, '_')) {
+    preg_match('/^(.*)_(linked|imagelink|path|url)?$/', $formatter, $matches);
+    array_shift($matches);
+    list($presetname, $style) = $matches;
+  }
+  else {
+    $presetname = $formatter;
+  }
 
-  $parts =  explode('_', $formatter);
-  $style = array_pop($parts);
-  $presetname = implode('_', $parts);
- 
   $class = "imagecache imagecache-$presetname imagecache-$style imagecache-$formatter";
   
   if ($preset = imagecache_preset_by_name($presetname)) {
