diff --git a/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue b/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue
index 61185418f9249ce767df7a9bf8ccd46b08fff0c3..861db7bd419e6ed82b43d9deb6213569f6119fe9 100644
--- a/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue
+++ b/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue
@@ -55,6 +55,8 @@
                             :containerId="container.id"
                             :sectionId="index"
                             item-key="id"
+                            :data-container-id="container.id"
+                            :data-section-id="index"
                         >
                             <template #item="{element, index}">
                                 <li class="cw-block-item cw-block-item-sortable">
diff --git a/resources/vue/components/courseware/containers/CoursewareListContainer.vue b/resources/vue/components/courseware/containers/CoursewareListContainer.vue
index 2150578bb22fa13a07be44334d7116fecca36ba6..fea378a4a98b098bd60ea64e720576c76f42b161 100644
--- a/resources/vue/components/courseware/containers/CoursewareListContainer.vue
+++ b/resources/vue/components/courseware/containers/CoursewareListContainer.vue
@@ -38,6 +38,8 @@
                         :containerId="container.id"
                         sectionId="0"
                         item-key="id"
+                        :data-container-id="container.id"
+                        data-section-id="0"
                     >
                         <template #item="{element}">
                             <li
diff --git a/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue b/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue
index f41a17732adffc2857dd1adaccdbce4f75da57c4..7b32bf9254e390002084dd455d435907fec1cd9e 100644
--- a/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue
+++ b/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue
@@ -62,6 +62,8 @@
                                 :containerId="container.id"
                                 :sectionId="sectionIndex"
                                 item-key="id"
+                                :data-container-id="container.id"
+                                :data-section-id="sectionIndex"
                             >
                                 <template #item="{element}">
                                     <li class="cw-block-item cw-block-item-sortable">
diff --git a/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue b/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue
index 05acbf05b0717276d9b193903db3b0cce2f66839..82e7a08c6e6692f4adedad4670ff5635b884d72b 100644
--- a/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue
+++ b/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue
@@ -256,8 +256,7 @@ export default {
             this.isDragging = true;
         },
         async dropNewBlock(e) {
-            // TODO: This seems way to hackish
-            const targetAttributes = e.to.__vnode.ctx.attrs;
+            const targetAttributes = e.to.dataset;
             const blockType = e.item.dataset.blocktype;
 
             // only execute if dropped in destined list