diff --git a/brightcove.module b/brightcove.module
index 9438596..7c50f88 100644
--- a/brightcove.module
+++ b/brightcove.module
@@ -435,8 +435,6 @@ function brightcove_video_cache_set($id, $video) {
   if (!isset($_SESSION['brightcove'])) {
     $_SESSION['brightcove'] = array();
   }
-
-  $id = (int) $id;
   $_SESSION['brightcove']["video_{$id}"] = $video;
 }
 
@@ -450,7 +448,6 @@ function brightcove_video_cache_set($id, $video) {
  *   Object the Brightcove video object.
  */
 function brightcove_video_cache_get($id) {
-  $id = (int) $id;
   $key = "video_{$id}";
   if ($id && isset($_SESSION['brightcove'][$key])) {
     return $_SESSION['brightcove'][$key];
diff --git a/brightcove_field/brightcove_field.module b/brightcove_field/brightcove_field.module
index 951bf7e..3daf3e4 100644
--- a/brightcove_field/brightcove_field.module
+++ b/brightcove_field/brightcove_field.module
@@ -1518,14 +1518,16 @@ function ajax_upload_dialog_close_callback($form, $form_state) {
     }
 
     $id = brightcove_upload_video(drupal_realpath($file->uri), $meta);
-
+    
     if ($id) {
       // Construct Video object with ID - we need to cache it and save to
       // session. Brightcove Media API doesn't clear it's cache when a new
       // video is uploaded, therefore the node save would fail.
       $video = new StdClass;
       $video->id = $id;
-      $video->name = $form_state['values']['title'];
+      foreach ($meta as $id => $data) {
+        $video->$id = $data;
+      }
       brightcove_video_cache_set($id, $video);
       // invalidating brightcove video load cache
       cache_set("bc:video:{$id}", FALSE, 'cache');
