Index: filefield_paths.module
===================================================================
--- filefield_paths.module	(revision 88)
+++ filefield_paths.module	(working copy)
@@ -280,23 +280,25 @@
         }
       }
 
-      // Load fields settings
-      foreach ($ffp['#types'] as $field => $temp) {
-        $result = db_fetch_object(
-          db_query("SELECT filename, filepath FROM {filefield_paths} WHERE type = '%s' AND field = '%s'", $node->type, $field)
-        );
-
-        if (!empty($result)) {
-          $ffp['#settings'][$field]['filepath'] = unserialize($result->filepath);
-          $ffp['#settings'][$field]['filename'] = unserialize($result->filename);
+      if (is_array($ffp['#types'])) {
+        // Load fields settings
+        foreach ($ffp['#types'] as $field => $temp) {
+          $result = db_fetch_object(
+            db_query("SELECT filename, filepath FROM {filefield_paths} WHERE type = '%s' AND field = '%s'", $node->type, $field)
+          );
+  
+          if (!empty($result)) {
+            $ffp['#settings'][$field]['filepath'] = unserialize($result->filepath);
+            $ffp['#settings'][$field]['filename'] = unserialize($result->filename);
+          }
         }
+  
+        // Process files
+        foreach ($ffp['#files'] as &$file) {
+          filefield_paths_process_file($file, $ffp['#settings'][$file['name']], $node, $update);
+        }
       }
 
-      // Process files
-      foreach ($ffp['#files'] as &$file) {
-        filefield_paths_process_file($file, $ffp['#settings'][$file['name']], $node, $update);
-      }
-
       // Re-write node entry if required
       if ($update == TRUE) {
         drupal_write_record('node', $node, 'nid');
