diff --git a/models.py b/models.py
index 45f256a9b9e71a303cc1b67f1af8d6377723ae6d..3e2101162347f1d30dca9c9f96ed65d5a56067c8 100644
--- a/models.py
+++ b/models.py
@@ -30,7 +30,6 @@ class Model(db.Model):
     @classmethod
     def get_or_create(self, session, create_method='', create_method_kwargs=None, **kwargs):
         """ Try to find an existing object filtering by kwargs. If not found, create. """
-        keys = [k.name for k in inspect(self).primary_key]
         inspector = reflection.Inspector.from_engine(db.engine)
         keys = list(chain.from_iterable([i['column_names'] for i in
                     inspector.get_indexes(inspect(self).mapped_table)]))
@@ -38,12 +37,6 @@ class Model(db.Model):
         filter_args = {arg: kwargs[arg] for arg in kwargs if arg in keys}
         try:
             return session.query(self).filter_by(**filter_args).one()
-        except MultipleResultsFound:
-            raise Exception("{0} matches in get_or_create. This should never happen."
-                " More primary keys are probably needed for some models."
-                "\nkwargs = {1}\nkeys = {2}\nfilter_args = {3}"
-                .format(session.query(self).filter_by(**filter_args).count(),
-                    kwargs, keys, filter_args))
         except NoResultFound:
             kwargs.update(create_method_kwargs or {})
             new = getattr(self, create_method, self)(**kwargs)
diff --git a/requirements.txt b/requirements.txt
index 3bc0f0103b7a05bd2ea29727c92ae999fa9c8d32..a7a4fa6a45c015654caecb4a87451d3d4e36560e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,19 +13,13 @@ aiohttp==0.18.4
 alembic==0.8.3
 amqp==1.4.7
 anyjson==0.3.3
-backports-abc==0.4
 billiard==3.3.0.21
 celery==3.1.19
-chardet==2.3.0
 itsdangerous==0.24
 kombu==3.0.29
-line-profiler==1.0
 lxml==3.4.4
-psutil==3.3.0
 psycopg2==2.6.1
-python-editor==0.4
 pytz==2015.7
 redis==2.10.5
 requests==2.8.1
 requests-futures==0.9.5
-tornado==4.3