diff --git a/src/containers/backpack.jsx b/src/containers/backpack.jsx
index a2fe10d09b9b32975cb2882140bdf4b7970efa81..b4f33ab43a1eae95ac082767b79fe801f5ee970f 100644
--- a/src/containers/backpack.jsx
+++ b/src/containers/backpack.jsx
@@ -87,11 +87,11 @@ class Backpack extends React.Component {
         switch (dragInfo.dragType) {
         case DragConstants.COSTUME:
             payloader = costumePayload;
-            presaveAsset = dragInfo.asset;
+            presaveAsset = dragInfo.payload.asset;
             break;
         case DragConstants.SOUND:
             payloader = soundPayload;
-            presaveAsset = dragInfo.asset;
+            presaveAsset = dragInfo.payload.asset;
             break;
         case DragConstants.SPRITE:
             payloader = spritePayload;
@@ -109,7 +109,12 @@ class Backpack extends React.Component {
                     // Force the asset to save to the asset server before storing in backpack
                     // Ensures any asset present in the backpack is also on the asset server
                     if (presaveAsset && !presaveAsset.clean) {
-                        return storage.store(presaveAsset).then(() => payload);
+                        return storage.store(
+                            presaveAsset.assetType,
+                            presaveAsset.dataFormat,
+                            presaveAsset.data,
+                            presaveAsset.assetId
+                        ).then(() => payload);
                     }
                     return payload;
                 })