diff --git a/entries/static/entries/js/components/LexicalUnitEdit.js b/entries/static/entries/js/components/LexicalUnitEdit.js
index 6d9831cabc4171a2aacfb0300a8e0a9235bb484b..122a2e0a6bc604c40795d088290e1d94065429e7 100644
--- a/entries/static/entries/js/components/LexicalUnitEdit.js
+++ b/entries/static/entries/js/components/LexicalUnitEdit.js
@@ -5,7 +5,8 @@ let LexicalUnitEdit = {};
 
 const FramePreview = {
   props: {
-    initialUnifiedFrameId: Number
+    initialUnifiedFrameId: Number,
+    forceRefresh: Number
   },
   data () {
     return {
@@ -33,6 +34,7 @@ const FramePreview = {
           v-if="unifiedFrameId !== -1"
           :readOnly="true"
           :unifiedFrameId="unifiedFrameId"
+          :forceRefresh="forceRefresh"
         />
         <div v-else class="h-100">
           Brak ramy do wyświetlenia
@@ -52,6 +54,7 @@ Object.assign(LexicalUnitEdit, {
     previewedUnifiedFrameId: Number,
     readOnly: Boolean,
     initialRightPaneTab: String,
+    forceRefresh: Number,
   },
   data() {
     return {
@@ -71,10 +74,17 @@ Object.assign(LexicalUnitEdit, {
       ],
       right_pane_tab: this.initialRightPaneTab || 'schemata',
       currentPreviewedUnifiedFrameId: this.previewedUnifiedFrameId,
+      internalForceRefresh: this.forceRefresh,
     }
   },
   components: {InfoTooltip, Spinner, FramePreview},
   emits: ['goToDisplay', 'refresh', 'swapFrames'],
+  watch: {
+    forceRefresh(newVal, oldVal) {
+      console.log("forceRefresh exec")
+      this.loadFrame();
+    }
+  },
   methods: {
     hasWhiteSpace(s) {
       return /\s/g.test(s);
@@ -567,6 +577,8 @@ Object.assign(LexicalUnitEdit, {
                 success  : function(response) {
                   show_info('Ramy zostały wydzielone do nowej ramy zunifikowanej.');
                   this.loadFrame();
+                  let newUnifiedFrameId = response.unified_frame_id;
+                  this.currentPreviewedUnifiedFrameId = newUnifiedFrameId;
                   $.prompt.close();
                 }.bind(this),
                 error: function(request, errorType, errorMessage) {
@@ -580,23 +592,29 @@ Object.assign(LexicalUnitEdit, {
       }
       $.prompt(extract_frames_to_new_frame_popup);
     },
-    extract_frames_to_frame(target_unified_frame_id) {
-      var data = { 'unified_frame_id' : this.unified_frame.id, 'slowal_frame_ids' : JSON.stringify([this.active_slowal_frame.id]),
-        'target_unified_frame_id': target_unified_frame_id };
-      $.ajax({
-        type     : 'post',
-        url      : '/' + lang + '/unifier/extract_frames_to_new_frame/',
-        dataType : 'json',
-        data     : data,
-        timeout  : 60000,
-        success  : function(response) {
-          show_info('Zaznaczona rama została przeniosiona.');
-          this.loadFrame();
-        },
-        error: function(request, errorType, errorMessage) {
-          show_error(errorType + ' (' + errorMessage + ')');
-        }
-      });
+    extract_frame_to_preview_frame() {
+      if(this.currentPreviewedUnifiedFrameId !== -1 && this.currentPreviewedUnifiedFrameId !== this.unified_frame.id) {
+        let target_unified_frame_id = this.currentPreviewedUnifiedFrameId;
+        var data = {
+          'unified_frame_id': this.unified_frame.id, 'slowal_frame_ids': JSON.stringify([this.active_slowal_frame.id]),
+          'target_unified_frame_id': target_unified_frame_id
+        };
+        $.ajax({
+          type: 'post',
+          url: '/' + lang + '/unifier/extract_frames_to_new_frame/',
+          dataType: 'json',
+          data: data,
+          timeout: 60000,
+          success: function (response) {
+            show_info('Zaznaczona rama została przeniosiona.');
+            this.loadFrame();
+            this.internalForceRefresh += 1;
+          }.bind(this),
+          error: function (request, errorType, errorMessage) {
+            show_error(errorType + ' (' + errorMessage + ')');
+          }
+        });
+      }
     },
     changePreviewedUnifiedFrameId (unifiedFrameId) {
       this.currentPreviewedUnifiedFrameId = unifiedFrameId;
@@ -738,7 +756,7 @@ Object.assign(LexicalUnitEdit, {
               NiepasujÄ…ca
           </td>
           <td id="move-slowal-frame" style="padding: 10px 15px 10px 15px; color: #000000;"
-              @click="extract_frames_to_frame(1)">
+              @click="extract_frame_to_preview_frame()">
               Przerzuć
           </td>
           <td id="show-slowal-frame" style="padding: 10px 15px 10px 15px; color: #000000;">
@@ -797,7 +815,11 @@ Object.assign(LexicalUnitEdit, {
       </ul>
       <div :class="right_pane_tab !== 'schemata' && 'd-none'" id="semantics-schemata"></div>
       <div v-if="right_pane_tab === 'frame_preview'">
-        <frame-preview :key="currentPreviewedUnifiedFrameId" :initialUnifiedFrameId="currentPreviewedUnifiedFrameId" @change-frame="changePreviewedUnifiedFrameId" />
+        <frame-preview 
+            :key="currentPreviewedUnifiedFrameId" 
+            :initialUnifiedFrameId="currentPreviewedUnifiedFrameId" 
+            @change-frame="changePreviewedUnifiedFrameId"
+            :forceRefresh="internalForceRefresh" />
       </div>
       <div v-if="right_pane_tab === 'notes'">notateczki</div>
     </div>
diff --git a/unifier/models.py b/unifier/models.py
index 7890f771889ac48af297d659f7e7201519919df5..d617f6eefa8f6cc62beeb9708616525e11a42698 100644
--- a/unifier/models.py
+++ b/unifier/models.py
@@ -67,11 +67,11 @@ class UnifiedFrame(models.Model):
                     argument_mapping.unified_agrument_id = new_unified_frame_arguments[i]
                 argument_mapping.save()
 
-        curr_mapping = UnifiedFrame2SlowalFrameMapping.objects.filter(unified_frame=self).all()
-        if len(curr_mapping) == 0:
-            unified_frame_arguments = UnifiedFrameArgument.objects.filter(unified_frame=self).all()
-            unified_frame_arguments.delete()
-            self.delete()
+        # curr_mapping = UnifiedFrame2SlowalFrameMapping.objects.filter(unified_frame=self).all()
+        # if len(curr_mapping) == 0:
+        #     unified_frame_arguments = UnifiedFrameArgument.objects.filter(unified_frame=self).all()
+        #     unified_frame_arguments.delete()
+        #     self.delete()
 
         return new_frame