Index: filefield_widget.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield_widget.inc,v
retrieving revision 1.94
diff -u -r1.94 filefield_widget.inc
--- filefield_widget.inc	24 Apr 2010 05:27:53 -0000	1.94
+++ filefield_widget.inc	28 Apr 2010 23:22:57 -0000
@@ -360,6 +360,11 @@
     );
   }
 
+  // Grant access to temporary files.
+  if ($item['fid'] && isset($item['status']) && $item['status'] == 0 && variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PRIVATE) {
+    $_SESSION['filefield_access'][] = $item['fid'];
+  }
+
   // placeholder.. will be serialized into the data column. this is a place for widgets
   // to put additional data.
   $element['data'] = array(
Index: filefield.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield.module,v
retrieving revision 1.212
diff -u -r1.212 filefield.module
--- filefield.module	24 Apr 2010 04:48:19 -0000	1.212
+++ filefield.module	28 Apr 2010 23:22:57 -0000
@@ -154,8 +154,10 @@
       }
     }
   }
-  // If no file field item is involved with this file, we don't care about it.
-  if (empty($cck_files)) {
+
+  // If no file field item is involved with this file, we don't care about it,
+  // unless it's a newly uploaded image that isn't yet associated with a field.
+  if (empty($cck_files) && !($file->status == 0 && isset($_SESSION['filefield_access']) && in_array($file->fid, $_SESSION['filefield_access']))) {
     return;
   }
 
