diff --git a/models/database.py b/models/database.py
index f59b24d3dd7e5b06042ebd9c9024bf3523872ccd..5c529f3dbfa61895013d3df6247a77f25a4299b1 100644
--- a/models/database.py
+++ b/models/database.py
@@ -146,7 +146,7 @@ class Protocol(DatabaseModel):
     date = db.Column(db.Date)
     start_time = db.Column(db.Time)
     end_time = db.Column(db.Time)
-    done = db.Column(db.Boolean)
+    done = db.Column(db.Boolean, nullable=False, default=False)
     public = db.Column(db.Boolean)
     pad_identifier = db.Column(db.String)
 
@@ -167,6 +167,13 @@ class Protocol(DatabaseModel):
         return Error(protocol_id=self.id, action=action, name=name,
             datetime=now, description=description)
 
+    def create_localtops(self):
+        local_tops = []
+        for default_top in self.protocoltype.default_tops:
+            local_tops.append(LocalTOP(defaulttop_id=defaul_top.id,
+                protocol_id=self.id, description=""))
+        return local_tops
+
     def fill_from_remarks(self, remarks):
         def _date_or_lazy(key, get_date=False, get_time=False):
             formats = []
@@ -320,14 +327,8 @@ class DefaultTOP(DatabaseModel):
         return self.number > 0
 
     def get_localtop(self, protocol):
-        localtop = LocalTOP.query.filter_by(defaulttop_id=self.id,
+        return LocalTOP.query.filter_by(defaulttop_id=self.id,
             protocol_id=protocol.id).first()
-        if localtop is None:
-            localtop = LocalTOP(protocol_id=protocol.id, defaulttop_id=self.id,
-                description="")
-            db.session.add(localtop)
-            db.session.commit()
-        return localtop
 
     def get_top(self, protocol):
         localtop = self.get_localtop(protocol)
diff --git a/server.py b/server.py
index 0144d7c6931d1e49bcbf371d4073fd44bcce21cd..f26a0700d5ac97f2647cd0b70603efb8726ebae7 100755
--- a/server.py
+++ b/server.py
@@ -307,6 +307,12 @@ def new_default_top(protocoltype):
         form.populate_obj(defaulttop)
         db.session.add(defaulttop)
         db.session.commit()
+        for protocol in protocoltype.protocols:
+            if not protocol.done:
+                localtop = LocalTOP(protocol_id=protocol.id,
+                    defaulttop_id=defaultop.id, description="")
+                db.session.add(localtop)
+        db.session.commit()
         flash("Der Standard-TOP {} wurde für dem Protokolltyp {} hinzugefügt.".format(defaulttop.name, protocoltype.name), "alert-success")
         return redirect(request.args.get("next") or url_for("index"))
     return render_template("default-top-new.html", form=form, protocoltype=protocoltype)
@@ -471,6 +477,9 @@ def new_protocol():
         form.populate_obj(protocol)
         db.session.add(protocol)
         db.session.commit()
+        for local_top in protocol.create_localtops:
+            db.session.add(local_top)
+        db.session.commit()
         tasks.push_tops_to_calendar(protocol)
         return redirect(request.args.get("next") or url_for("show_protocol", protocol_id=protocol.id))
     type_id = request.args.get("protocoltype_id")
@@ -570,6 +579,9 @@ def upload_new_protocol():
         protocol = Protocol(protocoltype_id=protocoltype.id, source=source)
         db.session.add(protocol)
         db.session.commit()
+        for local_top in protocol.create_localtops:
+            db.session.add(local_top)
+        db.session.commit()
         tasks.parse_protocol(protocol)
         return redirect(request.args.get("next") or url_for("show_protocol", protocol_id=protocol.id))
     return redirect(request.args.get("fail") or url_for("new_protocol"))
@@ -596,6 +608,9 @@ def upload_new_protocol_by_file():
         protocol = Protocol(protocoltype_id=protocoltype.id, date=datetime.now().date(), done=True)
         db.session.add(protocol)
         db.session.commit()
+        for local_top in protocol.create_localtops:
+            db.session.add(local_top)
+        db.session.commit()
         document = Document(protocol_id=protocol.id, name=filename,
             filename="", is_compiled=False)
         form.populate_obj(document)