diff --git a/semantics/static/js/semantics_frames.js b/semantics/static/js/semantics_frames.js
index a61b8e5..cc88b0d 100644
--- a/semantics/static/js/semantics_frames.js
+++ b/semantics/static/js/semantics_frames.js
@@ -24,10 +24,12 @@ function getFrames(frames_display){
         var frames = frames_display[i].frames;
 	var visible = frames_display[i].visible;
 	var local = frames_display[i].local;
+	var locked = frames_display[i].locked;
         for (j = 0; j < frames.length; j++) {
             frame_content[frames[j].frame_id] = frames[j];
 	    frame_content[frames[j].frame_id]['visible'] = visible;
 	    frame_content[frames[j].frame_id]['local'] = local;
+	    frame_content[frames[j].frame_id]['locked'] = locked;
             frame_localization[frames[j].frame_id] = {"units": i, "position": j};
             lexical_units_frames[i].push(frames[j].frame_id);
         }
@@ -64,7 +66,11 @@ function getDisplay(visibility, checkboxes) {
 	    display += '<div>';
 	    if (checkboxes) {
 		var frame_id = frame_content[lexical_units_frames[i][0]].frame_id;
-		display += '<input type="checkbox" name= "frames" value="' + frame_id + '">';
+		display += '<input type="checkbox" name= "frames" value="' + frame_id + '"';
+		if (frame_content[lexical_units_frames[i][0]].locked) {
+		    display += " disabled"
+		}
+		display += '>';
 	    }
 	    
 	    var units = [];
diff --git a/semantics/views.py b/semantics/views.py
index 5a39fa4..524f5c8 100644
--- a/semantics/views.py
+++ b/semantics/views.py
@@ -119,7 +119,7 @@ def create_frames_context(lemma_id, user):
     for t in k:
    
 #    for t in type_frames:
-        frame_display = {"lexical_units": [], "frames": [], "visible": False, "local": None}
+        frame_display = {"lexical_units": [], "frames": [], "visible": False, "local": False, "locked": False}
         for lu in list(t):
             frame_display["lexical_units"].append({"id": str(lu.id), "base": lu.base, "sense": str(lu.sense)})
             lu_entry = lu.entry
@@ -134,7 +134,9 @@ def create_frames_context(lemma_id, user):
                 frame_display["local"] = True
                 frame_display["visible"] = True
             else:
-                frame_display["local"] = False
+                min_priority = [x.priority for x in Lemma_Status.objects.all() if x.status == "(S) sprawdzone"][0] 
+                if frame_entry.actual_lemma().status.priority < min_priority:
+                    frame_display["locked"] = True
             
             # frame_complements = Complement.objects.filter(frame=frame)
             # frame_complements = frame.complements.all()
@@ -246,7 +248,6 @@ def create_frames_context(lemma_id, user):
                             alternations[frame.id][schema.id] = alternation
                             # alternations[frame.id] = {}
         
-
         frames_display.append(frame_display)
 
     # ala["ma"] = "kot"