diff --git a/examples/other_examples/linear_regression_pymc3_custom_likelihood.py b/examples/other_examples/linear_regression_pymc3_custom_likelihood.py
index 181f721ab956bd685d415c582f84f020ad3f1b87..4d87b8110bf6c4490378c29b61df2e81656df6b9 100644
--- a/examples/other_examples/linear_regression_pymc3_custom_likelihood.py
+++ b/examples/other_examples/linear_regression_pymc3_custom_likelihood.py
@@ -89,7 +89,6 @@ class GaussianLikelihoodPyMC3(tupak.Likelihood):
         """
 
         from tupak.core.sampler import Pymc3
-        import theano.tensor as tt
 
         if not isinstance(sampler, Pymc3):
             raise ValueError("Sampler is not a tupak Pymc3 sampler object")
@@ -97,8 +96,6 @@ class GaussianLikelihoodPyMC3(tupak.Likelihood):
         if not hasattr(sampler, 'pymc3_model'):
             raise AttributeError("Sampler has not PyMC3 model attribute")
 
-        pymc3 = sampler.external_sampler
-
         with sampler.pymc3_model:
             mdist = sampler.pymc3_priors['m']
             cdist = sampler.pymc3_priors['c']
diff --git a/tupak/core/sampler.py b/tupak/core/sampler.py
index 5bde459a8aa3642e2153d03e39c06da077cb9e79..30690954ccdf9f4dc0cb70c5a65b7bf23ce8c871 100644
--- a/tupak/core/sampler.py
+++ b/tupak/core/sampler.py
@@ -1404,7 +1404,9 @@ class Pymc3(Sampler):
         def like_(values):
             for i, key in enumerate(pymc3_parameters):
                 pymc3_log_like.parameters[key] = values[i]
-            return pymc3_log_like.loglikelihood()
+            return pymc3_log_like.log_likelihood()
+
+        pymc3 = self.external_sampler
 
         with self.pymc3_model:
             #  check if it is a predefined likelhood function
@@ -1497,16 +1499,14 @@ class Pymc3(Sampler):
                 parameters = OrderedDict()
                 for key in self.pymc3_priors:
                     try:
-                        #self.likelihood.parameters[key] = tt.cast(self.pymc3_priors[key], 'float64')
-                        #self.likelihood.parameters[key] = self.pymc3_priors[key]
                         parameters[key] = self.pymc3_priors[key]
                     except KeyError:
                         raise KeyError("Unknown key '{}' when setting GravitationalWaveTransient likelihood".format(key))
 
-                values = tt.as_tensor_variable(parameters.values())
+                values = tt.as_tensor_variable(list(parameters.values()))
                 pymc3_log_like = self.likelihood
                 pymc3_parameters = parameters.keys()
-                pymc3.DensityDist('likelihood', _like, observed={'values': values})
+                pymc3.DensityDist('likelihood', lambda v: like_(v), observed={'values': values})
             else:
                 raise ValueError("Unknown likelihood has been provided")