diff --git a/src/ORM.js b/src/ORM.js
index <HASH>..<HASH> 100644
--- a/src/ORM.js
+++ b/src/ORM.js
@@ -64,6 +64,10 @@ export class ORM {
      */
     register(...models) {
         models.forEach((model) => {
+            if (model.modelName === undefined) {
+                throw new Error('A model was passed that doesn\'t have a modelName set');
+            }
+
             model.invalidateClassCache();
 
             this.registerManyToManyModelsFor(model);
diff --git a/src/test/unit/ORM.js b/src/test/unit/ORM.js
index <HASH>..<HASH> 100644
--- a/src/test/unit/ORM.js
+++ b/src/test/unit/ORM.js
@@ -51,6 +51,14 @@ describe('ORM', () => {
             orm.register(A, B);
             expect(() => orm.getModelClasses()).toThrowError(/field/);
         });
+
+        it('correctly throws an error when a model does not have a modelName property', () => {
+            class A extends Model {}
+            const orm = new ORM();
+            expect(() => orm.register(A)).toThrowError(
+                "A model was passed that doesn't have a modelName set"
+            );
+        });
     });
 
     describe('simple orm', () => {
Throwing an error when no modelName is set in register (#<I>)

Adding tests to expect an error to be thrown