diff --git a/frontend/src/components/unification/Unification/LexicalUnitEdit.vue b/frontend/src/components/unification/Unification/LexicalUnitEdit.vue
index 5c172a4456db2a44572afd1ef379b71d300b4f45..6b5f8f8ad010c1fff65b8983349a831d54e48f78 100644
--- a/frontend/src/components/unification/Unification/LexicalUnitEdit.vue
+++ b/frontend/src/components/unification/Unification/LexicalUnitEdit.vue
@@ -1027,7 +1027,7 @@ export default LexicalUnitEdit;
                     <div v-else class="preference py-2 px-1 preference-bold">{{ preference.str }}</div>
                   </li>
                 </ul>
-                <ul class="ul-preference" v-if="unified_frame.status !== 'S'">
+                <ul class="ul-preference" v-if="unified_frame.status !== 'S' && argument.preferences.length == 0">
                   <li v-for="preference in slowal_frames2selecional_preferencies_mapping[argument.id]">
                     <span v-if="preference.url != null" class="preference py-2 px-1">
                       <a class="synset-plwn" v-bind:href="preference.url" target="_blank">{{ preference.str }}</a>
diff --git a/frontend/src/components/unification/shared/utils.js b/frontend/src/components/unification/shared/utils.js
index c6ca4bcb082686f9e9a635ea81dd1b4eb2886d22..b3e21bac8a6901472c22758f8474d86458162f06 100644
--- a/frontend/src/components/unification/shared/utils.js
+++ b/frontend/src/components/unification/shared/utils.js
@@ -10,17 +10,25 @@ function slowal_frames2selecional_preferencies(unified_frame, slowal_frames) {
         let slowal_frame_argument = slowal_frame.arguments.find(o => o.argument_id === slowal_frame_argument_mapping.slowal_frame_agrument_id);
         let unified_frame_argument = unified_frame.arguments.find(o => o.id === slowal_frame_argument_mapping.unified_frame_agrument_id);
 
-        const unified_frame_argument_preferences = new Set(unified_frame_argument.preferences.map(preference => preference.str));
-
         let preferenceEntry = unified_argument_2_selecional_preferencies[slowal_frame_argument_mapping.unified_frame_agrument_id];
         if (preferenceEntry == null) {
           preferenceEntry = [];
           unified_argument_2_selecional_preferencies[slowal_frame_argument_mapping.unified_frame_agrument_id] = preferenceEntry
         }
+
+        const unified_frame_argument_preferences = new Set(preferenceEntry.map(preference => preference.str));
+
         preferenceEntry.push.apply(preferenceEntry, slowal_frame_argument.preferences.filter(preference => !unified_frame_argument_preferences.has(preference.str)))
       }
     }
   }
+
+  for (const [key, value] of Object.entries(unified_argument_2_selecional_preferencies)) {
+    value.sort((a,b) => -a.type.localeCompare(b.type));
+  }
+
+
+
   return unified_argument_2_selecional_preferencies;
 }
 
diff --git a/unifier/models.py b/unifier/models.py
index ecabcb38741e31b6e99d8ea41669241901efe3f2..6a8cd87382711eb95bd69c6b4a5eb505e12b49d6 100644
--- a/unifier/models.py
+++ b/unifier/models.py
@@ -116,6 +116,9 @@ class UnifiedFrame(models.Model):
                 role=unified_frame_argument.role,
                 unified_frame=new_frame)
             new_unified_frame_argument.proposed_roles.set(unified_frame_argument.proposed_roles.all())
+            new_unified_frame_argument.predefined.set(unified_frame_argument.predefined.all())
+            new_unified_frame_argument.synsets.set(unified_frame_argument.synsets.all())
+            new_unified_frame_argument.relations.set(unified_frame_argument.relations.all())
             new_unified_frame_argument.save()
 
         return new_frame