diff --git a/snakehouse/build.py b/snakehouse/build.py
index cfc96143daa2bbb389c7315f424b338a46d83b4d..a787cd465752808c933a6cc2286ae87392406085 100644
--- a/snakehouse/build.py
+++ b/snakehouse/build.py
@@ -9,7 +9,10 @@ def build(extensions: tp.List[tp.Union[Multibuild, Extension]], *args, **kwargs)
     for multi_build in extensions:
         if isinstance(multi_build, Extension):
             returns.append(multi_build)
-        else:
+        elif isinstance(multi_build, Multibuild):
             multi_build.generate()
-            returns.append(multi_build.for_cythonize())
+        else:
+            raise ValueError('Invalid value in list, expected either an instance of Multibuild '
+                             'or an Extension')
+        returns.append(multi_build.for_cythonize())
     return cythonize(returns, *args, **kwargs)