diff --git a/gracedb/events/migrations/0021_emobservation_N_not_editable.py b/gracedb/events/migrations/0021_emobservation_N_not_editable.py
new file mode 100644
index 0000000000000000000000000000000000000000..26fa07dbb20401ae3e29208b9ac8437d98def825
--- /dev/null
+++ b/gracedb/events/migrations/0021_emobservation_N_not_editable.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.5 on 2018-04-30 17:56
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('events', '0020_tag_unique_name'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='emobservation',
+            name='N',
+            field=models.IntegerField(editable=False),
+        ),
+    ]
diff --git a/gracedb/events/models.py b/gracedb/events/models.py
index 3cda642d506a9a8740bfbd42e3b1767ba175064d..3428b9c52a0a5f58b71e0e1503dc7da5caf22b95 100644
--- a/gracedb/events/models.py
+++ b/gracedb/events/models.py
@@ -386,7 +386,7 @@ class EMObservationBase(models.Model):
         abstract = True
         ordering = ['-created', '-N']
 
-    N = models.IntegerField(null=False)
+    N = models.IntegerField(null=False, editable=False)
     created = models.DateTimeField(auto_now_add=True)
     submitter  = models.ForeignKey(UserModel, null=False,
         related_name='%(app_label)s_%(class)s_set')
diff --git a/gracedb/superevents/migrations/0003_emobservation_N_not_editable.py b/gracedb/superevents/migrations/0003_emobservation_N_not_editable.py
new file mode 100644
index 0000000000000000000000000000000000000000..5c9d4bf2f3cbb17b3e744525e3b9054a59fe3470
--- /dev/null
+++ b/gracedb/superevents/migrations/0003_emobservation_N_not_editable.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.5 on 2018-04-30 17:56
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('superevents', '0002_superevent_label_unique_together'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='emobservation',
+            name='N',
+            field=models.IntegerField(editable=False),
+        ),
+    ]