diff --git a/unifier/views.py b/unifier/views.py
index 6f105c523c028d33f76f842e515863f5127862d5..0ceda017ba082fe0bcf48ec576442ef047771971 100644
--- a/unifier/views.py
+++ b/unifier/views.py
@@ -86,6 +86,13 @@ def check_sysnet_hierarchy_constraints(synset_preference_ids, unified_frame_argu
     synset_ids_list = list(synset_ids_map)
     synset_ids_list.extend(predefined_synset_ids)
 
+    for predefined in unified_frame_argument.predefined.all():
+        pred_sel_pref = PredefinedSelectionalPreference.objects.get(id=predefined.pk)
+        if pred_sel_pref.name == 'ALL':
+            return {"succ": False, "conflict_hyponym": None,
+                    "conflict_hyperonym": None,
+                    "conflict_exists": "Wybrana preferencja selekcyjna konfliktuje z predefiniowanÄ… preferencjÄ… selekcyjnÄ… ALL."}
+
     for synset_preference_id in synset_preference_ids:
         conflict_hyponym, conflict_hyperonym, conflict_exists = synset_hierarchy_constraint_check(int(synset_preference_id),
                                                                                  set(synset_ids_list))
@@ -147,6 +154,7 @@ def save_bunch_of_preferences_base(frame_id, complement_id, predefined_preferenc
 
     return {'succ': True}
 
+
 @ajax_required
 @transaction.atomic
 def save_predefined_preference(request):
@@ -168,21 +176,25 @@ def save_predefined_preference_base(frame_id, complement_id, predefined_preferen
 
     predefined_synset_ids = []
     pred_sel_pref = PredefinedSelectionalPreference.objects.get(id=predefined_preference_id)
-    if pred_sel_pref.name == 'ALL' and len(unified_frame_argument.predefined.all()) > 0:
-        return {"succ": False, "conflict_hyponym": None,
+    if pred_sel_pref.name == 'ALL':
+        if len(unified_frame_argument.predefined.all()) > 0 or len(unified_frame_argument.synsets.all()) > 0 or \
+                len(unified_frame_argument.relations.all()) > 0:
+            return {"succ": False, "conflict_hyponym": None,
                                             "conflict_hyperonym": None,
                                             "conflict_exists": "Predefiniowana preferencja selekcyjna ALL może być dodana tylko, gdy nie na liście nie widnieją inne preferencje selekcyjne."}
+        else:
+            check_sysnet_hierarchy_constraints_ret = {"succ": True}
     else:
         get_predefined_preference_synsets([pred_sel_pref], predefined_synset_ids)
 
         check_sysnet_hierarchy_constraints_ret = check_sysnet_hierarchy_constraints(predefined_synset_ids, unified_frame_argument)
 
-        if check_sysnet_hierarchy_constraints_ret['succ'] is True:
-            unified_frame_argument.predefined.add(int(predefined_preference_id))
-            unified_frame_argument.save()
-            update_argument_preferences_count(unified_frame_argument)
+    if check_sysnet_hierarchy_constraints_ret['succ'] is True:
+        unified_frame_argument.predefined.add(int(predefined_preference_id))
+        unified_frame_argument.save()
+        update_argument_preferences_count(unified_frame_argument)
 
-        return check_sysnet_hierarchy_constraints_ret
+    return check_sysnet_hierarchy_constraints_ret
 
 
 @ajax_required