diff --git a/migrations/versions/8fdd381e6a2a_.py b/migrations/versions/8fdd381e6a2a_.py
new file mode 100644
index 0000000000000000000000000000000000000000..2256220e7700bb9fd0eeee0cb81d94decd79a065
--- /dev/null
+++ b/migrations/versions/8fdd381e6a2a_.py
@@ -0,0 +1,28 @@
+"""empty message
+
+Revision ID: 8fdd381e6a2a
+Revises: cd972745eb09
+Create Date: 2017-03-09 03:44:54.631531
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '8fdd381e6a2a'
+down_revision = 'cd972745eb09'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.add_column('protocols', sa.Column('pad_identifier', sa.String(), nullable=True))
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.drop_column('protocols', 'pad_identifier')
+    # ### end Alembic commands ###
diff --git a/migrations/versions/cd972745eb09_.py b/migrations/versions/cd972745eb09_.py
new file mode 100644
index 0000000000000000000000000000000000000000..f6120a102f8b0cb75c58f84322edaa6fd363017d
--- /dev/null
+++ b/migrations/versions/cd972745eb09_.py
@@ -0,0 +1,28 @@
+"""empty message
+
+Revision ID: cd972745eb09
+Revises: 0068d7a0fac0
+Create Date: 2017-03-09 03:35:22.809679
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'cd972745eb09'
+down_revision = '0068d7a0fac0'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.add_column('protocoltypes', sa.Column('non_reproducible_pad_links', sa.Boolean(), nullable=True, server_default=sa.sql.expression.literal(False)))
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.drop_column('protocoltypes', 'non_reproducible_pad_links')
+    # ### end Alembic commands ###
diff --git a/models/database.py b/models/database.py
index d1a2aa061de3824799cb98cff85b8c568d7be0c4..7bd0cf5247fdfe0551dbdf8b7216ac732c2376af 100644
--- a/models/database.py
+++ b/models/database.py
@@ -4,6 +4,7 @@ from datetime import datetime, time, date, timedelta
 import math
 from io import StringIO, BytesIO
 from enum import Enum
+from uuid import uuid4
 
 from shared import db, date_filter, date_filter_short, escape_tex, DATE_KEY, START_TIME_KEY, END_TIME_KEY
 from utils import random_string, url_manager, get_etherpad_url, split_terms, check_ip_in_networks
@@ -57,6 +58,7 @@ class ProtocolType(DatabaseModel):
     public_group = db.Column(db.String)
     private_mail = db.Column(db.String)
     public_mail = db.Column(db.String)
+    non_reproducible_pad_links = db.Column(db.Boolean)
     use_wiki = db.Column(db.Boolean)
     wiki_category = db.Column(db.String)
     wiki_only_public = db.Column(db.Boolean)
@@ -145,6 +147,7 @@ class Protocol(DatabaseModel):
     end_time = db.Column(db.Time)
     done = db.Column(db.Boolean)
     public = db.Column(db.Boolean)
+    pad_identifier = db.Column(db.String)
 
     tops = relationship("TOP", backref=backref("protocol"), cascade="all, delete-orphan", order_by="TOP.number")
     decisions = relationship("Decision", backref=backref("protocol"), cascade="all, delete-orphan", order_by="Decision.id")
@@ -222,10 +225,15 @@ class Protocol(DatabaseModel):
         return "Protokoll:{}-{:%Y-%m-%d}".format(self.protocoltype.short_name, self.date)
 
     def get_etherpad_link(self):
+        print(self.pad_identifier)
+        if self.pad_identifier is not None:
+            return self.pad_identifier
         identifier = self.get_identifier()
-        if identifier is None:
-            return ""
-        return get_etherpad_url(self.get_identifier())
+        if self.protocoltype.non_reproducible_pad_links:
+            identifier = str(uuid4())
+        self.pad_identifier = identifier
+        db.session.commit()
+        return get_etherpad_url(identifier)
 
     def get_datetime(self):
         return datetime(self.date.year, self.date.month, self.date.day, self.protocoltype.usual_time.hour, self.protocoltype.usual_time.minute)
diff --git a/views/forms.py b/views/forms.py
index c7a48d55cd9056e061dc37f81f1cd0c23e91d6bb..7f8a96e6bb549d655bb6c9f67cb0690a775d2ad0 100644
--- a/views/forms.py
+++ b/views/forms.py
@@ -102,6 +102,7 @@ class ProtocolTypeForm(FlaskForm):
     modify_group = SelectField("Bearbeitungsgruppe", choices=[])
     private_group = SelectField("Interne Gruppe", choices=[])
     public_group = SelectField("Öffentliche Gruppe", choices=[])
+    non_reproducible_pad_links = BooleanField("nicht nachvollziehbare Etherpad-Links")
     private_mail = StringField("Interner Verteiler")
     public_mail = StringField("Öffentlicher Verteiler")
     wiki_category = StringField("Wiki-Kategorie")
diff --git a/views/tables.py b/views/tables.py
index cfa177f744bea9e1d416ea25b403e350512400e4..155f61e1cd15cf5f800c66be75f5ac47b632aa49 100644
--- a/views/tables.py
+++ b/views/tables.py
@@ -153,6 +153,9 @@ class ProtocolTypeTable(SingleValueTable):
         general_headers = ["Name", "Abkürzung", "Organisation", "Beginn",
             "Öffentlich", "Bearbeitungsgruppe", "Interne Gruppe",
             "Öffentliche Gruppe"]
+        etherpad_headers = ["Nicht-reproduzierbare Etherpadlinks"]
+        if not config.ETHERPAD_ACTIVE:
+            etherpad_headers = []
         mail_headers = ["Interner Verteiler", "Öffentlicher Verteiler"]
         if not config.MAIL_ACTIVE:
             mail_headers = []
@@ -167,8 +170,9 @@ class ProtocolTypeTable(SingleValueTable):
             calendar_headers = []
         network_headers = ["Netzwerke einschränken", "Erlaubte Netzwerke"]
         action_headers = ["Aktion"]
-        return (general_headers + mail_headers + printing_headers
-           + wiki_headers + calendar_headers + network_headers + action_headers)
+        return (general_headers + etherpad_headers + mail_headers
+            + printing_headers + wiki_headers + calendar_headers
+            + network_headers + action_headers)
 
     def row(self):
         user = current_user()
@@ -182,6 +186,11 @@ class ProtocolTypeTable(SingleValueTable):
             self.value.private_group,
             self.value.public_group,
         ]
+        etherpad_part = [
+            Table.bool(self.value.non_reproducible_pad_links)
+        ]
+        if not config.ETHERPAD_ACTIVE:
+            ethernet_part = []
         mail_part = [
             self.value.private_mail,
             self.value.public_mail,
@@ -208,8 +217,8 @@ class ProtocolTypeTable(SingleValueTable):
         action_part = [Table.link(url_for("delete_type", protocoltype_id=self.value.id), "Löschen", confirm="Bist du dir sicher, dass du den Protokolltype {} löschen möchtest?".format(self.value.name))]
         if not self.value.has_admin_right(user):
             action_part = [""]
-        return (general_part + mail_part + printing_part + wiki_part + 
-            calendar_part + network_part + action_part)
+        return (general_part + etherpad_part + mail_part + printing_part
+            + wiki_part +  calendar_part + network_part + action_part)
 
 class DefaultTOPsTable(Table):
     def __init__(self, tops, protocoltype=None):