else:
                 try:
                     universe.contents[element].set(facet, value)
+                except PermissionError:
+                    message = ('The "%s" element is kept in read-only file '
+                               '"%s" and cannot be altered.' %
+                               (element, universe.contents[
+                                        element].origin.filename))
                 except ValueError:
                     message = ('Value "%s" of type "%s" cannot be coerced '
                                'to the correct datatype for facet "%s".' %
 
     (2, r'You have successfully \(re\)set the "gender" facet of element', ""),
 )
 
+test_set_refused = (
+    (2, "> ", "set mudpy.limit password_tries 10"),
+    (2, r'The "mudpy\.limit" element is kept in read-only file', ""),
+)
+
 test_show_element = (
     (2, "> ", "show element mudpy.limit"),
     (2, r'These are the properties of the "mudpy\.limit" element.*'
-        r'  \x1b\[32mpassword_tries: \x1b\[31m[0-9]+.*> ',
+        r'  \x1b\[32mpassword_tries: \x1b\[31m3.*> ',
      "show element actor:avatar:admin:0"),
     (2, r'These are the properties of the "actor:avatar:admin:0" element.*'
         r'  \x1b\[32mgender: \x1b\[31mfemale.*> ', ""),
     (test_admin_help, "admin help"),
     (test_reload, "reload"),
     (test_set_facet, "set facet"),
+    (test_set_refused, "refuse altering read-only element"),
     (test_show_element, "show element"),
     (test_show_log, "show log"),
     (test_custom_loglevel, "custom loglevel"),