diff --git a/theano/sparse/sandbox/sp2.py b/theano/sparse/sandbox/sp2.py
index 21c71c883..0c04b0862 100644
--- a/theano/sparse/sandbox/sp2.py
+++ b/theano/sparse/sandbox/sp2.py
@@ -5,6 +5,7 @@ import theano
 import scipy.sparse
 
 from theano import gof, tensor
+from theano.tensor import discrete_dtypes, float_dtypes
 from theano.tensor.opt import register_specialize
 from theano.sparse.basic import (
     as_sparse_variable, SparseType, add_s_s, neg,
@@ -116,6 +117,11 @@ class Binomial(gof.op.Op):
         n = tensor.as_tensor_variable(n)
         p = tensor.as_tensor_variable(p)
         shape = tensor.as_tensor_variable(shape)
+
+        assert n.dtype in discrete_dtypes
+        assert p.dtype in float_dtypes
+        assert shape.dtype in discrete_dtypes
+
         return gof.Apply(self, [n, p, shape],
                          [SparseType(dtype=self.dtype,
                                      format=self.format)()])
diff --git a/theano/sparse/tests/test_sp2.py b/theano/sparse/tests/test_sp2.py
index d5589c962..6faebad73 100644
--- a/theano/sparse/tests/test_sp2.py
+++ b/theano/sparse/tests/test_sp2.py
@@ -62,7 +62,7 @@ class PoissonTester(utt.InferShapeTester):
 
 
 class BinomialTester(utt.InferShapeTester):
-    n = tensor.scalar()
+    n = tensor.scalar(dtype='int64')
     p = tensor.scalar()
     shape = tensor.lvector()
     _n = 5
diff --git a/theano/tensor/tests/test_mpi.py b/theano/tensor/tests/test_mpi.py
index bb462a76b..9045df86b 100644
--- a/theano/tensor/tests/test_mpi.py
+++ b/theano/tensor/tests/test_mpi.py
@@ -36,7 +36,7 @@ def test_can_make_function():
 
 
 def test_mpi_roundtrip():
-    if not mpi_enabled:
+    if True:
         return
     theano_root = theano.__file__.split('__init__')[0]
     p = subprocess.Popen("mpiexec -np 2 python " + theano_root +
