--- upload.module	2008-10-08 22:12:18.000000000 +0200
+++ upload.module	2008-10-19 22:46:34.000000000 +0200
@@ -189,7 +189,10 @@ function upload_node_form_submit(&$form,
 
   if (isset($form_state['values']['files'])) {
     foreach ($form_state['values']['files'] as $fid => $file) {
-      $form_state['values']['files'][$fid]['new'] = !empty($form['#node']->files[$fid]->new);
+      // If the node was previewed prior to saving, $form['#node']->files[$fid]
+      // is an array instead of an object. Convert file to object for compatibility. 
+      $nodefile = (object) $form['#node']->files[$fid];
+      $form_state['values']['files'][$fid]['new'] = !empty($nodefile->new);
     }
   }
 
