=== modified file 'modules/audio/audio.module'
--- modules/audio/audio.module	2010-03-15 17:12:02 +0000
+++ modules/audio/audio.module	2010-03-19 15:55:06 +0000
@@ -555,10 +555,12 @@
 
   // Save the new tags.
   $allowed_tags = audio_get_tags_allowed();
-  foreach ($node->audio_tags as $tag => $value) {
-    if (in_array($tag, $allowed_tags) && $value) {
-      $metadata = array('vid' => $node->vid, 'tag' => $tag, 'value' => $value, 'clean' => audio_clean_tag($value));
-      drupal_write_record('audio_metadata', $metadata);
+  if (isset($node->audio_tags)) {
+    foreach ($node->audio_tags as $tag => $value) {
+      if (in_array($tag, $allowed_tags) && $value) {
+        $metadata = array('vid' => $node->vid, 'tag' => $tag, 'value' => $value, 'clean' => audio_clean_tag($value));
+        drupal_write_record('audio_metadata', $metadata);
+      }
     }
   }
 }
@@ -820,8 +822,8 @@
     // the upload operation, it gives the audio_id3 module a chance to read
     // the tags.
     $form_state['values']['audio'] = $node->audio;
-    $form_state['values']['audio_tags'] = $node->audio_tags;
-    $form_state['values']['audio_images'] = $node->audio_images;
+    $form_state['values']['audio_tags'] = isset($node->audio_tags) ? $node->audio_tags : NULL;
+    $form_state['values']['audio_images'] = isset($node->audio_images) ? $node->audio_images : NULL;
   }
 }
 

