diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c49ab232cb268e68dde24ce875113b5e03358d4a..946ff3b118a645e8d78c8489789480c60e8c0d94 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -69,7 +69,9 @@ Python 3.6 POCL:
 
 Python 3.5 Conda:
   script:
+  # Disable caching to ensure SymEngine code generation is exercised.
   - export SUMPY_NO_CACHE=1
+  - export SUMPY_FORCE_SYMBOLIC_BACKEND=symengine
   - CONDA_ENVIRONMENT=.test-conda-env-py3.yml
   - REQUIREMENTS_TXT=.test-conda-env-py3-requirements.txt
   - curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/build-and-test-py-project-within-miniconda.sh
diff --git a/.test-conda-env-py3.yml b/.test-conda-env-py3.yml
index a53d2c220b3ff0f3fe936d3ecfa59c7465281072..d5e01eadd507ed75edf704a20147160d801b65e2 100644
--- a/.test-conda-env-py3.yml
+++ b/.test-conda-env-py3.yml
@@ -12,5 +12,6 @@ dependencies:
 - islpy
 - pyopencl
 - python=3.5
-- python-symengine=0.3.0
+- symengine::symengine=0.3.0
+- symengine::python-symengine=0.3.0
 # things not in here: loopy boxtree pymbolic pyfmmlib
diff --git a/sumpy/expansion/local.py b/sumpy/expansion/local.py
index 9e891a2dc48399bfded9e7cb0fc6ed63f38c40e4..483bc0eb16fcee7b43d54aedb4eaa8092f593620 100644
--- a/sumpy/expansion/local.py
+++ b/sumpy/expansion/local.py
@@ -130,7 +130,7 @@ class VolumeTaylorLocalExpansionBase(LocalExpansionBase):
         evaluated_coeffs = (
             self.derivative_wrangler.get_full_kernel_derivatives_from_stored(
                 coeffs, rscale))
-        bvec = bvec / rscale
+        bvec = bvec * rscale**-1
         result = sum(
                 coeff
                 * mi_power(bvec, mi)
@@ -195,7 +195,7 @@ class VolumeTaylorLocalExpansionBase(LocalExpansionBase):
             # canceling "rscales" closer to each other in the hope of helping
             # with that.
             result = [
-                    (taker.diff(mi) * tgt_rscale**sum(mi)).expand(deep=False)
+                    (taker.diff(mi) * tgt_rscale**sum(mi)).expand()
                     for mi in self.get_coefficient_identifiers()]
 
         logger.info("building translation operator: done")
diff --git a/sumpy/expansion/multipole.py b/sumpy/expansion/multipole.py
index 8f66347b2e5975a5cc07a95f3d5f2015343cbffc..4e226cd96edfd7c72973116913a11474775b694c 100644
--- a/sumpy/expansion/multipole.py
+++ b/sumpy/expansion/multipole.py
@@ -88,7 +88,7 @@ class VolumeTaylorMultipoleExpansionBase(MultipoleExpansionBase):
             for i, mi in enumerate(coeff_identifiers):
                 result[i] /= (mi_factorial(mi) * rscale ** sum(mi))
         else:
-            avec = avec/rscale
+            avec = avec * rscale**-1
 
             result = [
                     mi_power(avec, mi) / mi_factorial(mi)
@@ -107,7 +107,7 @@ class VolumeTaylorMultipoleExpansionBase(MultipoleExpansionBase):
                     self.kernel.adjust_for_kernel_scaling(
                         vector_xreplace(
                             expr,
-                            bvec, bvec/rscale),
+                            bvec, bvec * rscale**-1),
                         rscale, nderivatives)
                     / rscale ** (nderivatives - nderivatives_for_scaling))
         else:
diff --git a/sumpy/symbolic.py b/sumpy/symbolic.py
index 2d77a82ab4304f2c7a6ac3c65c735366790b2411..c4cf15c9d0f6232943e330b16932fd95eed1f96a 100644
--- a/sumpy/symbolic.py
+++ b/sumpy/symbolic.py
@@ -42,8 +42,9 @@ def _find_symbolic_backend():
     try:
         import symengine  # noqa
         symengine_found = True
-    except ImportError:
+    except ImportError as import_error:
         symengine_found = False
+        symengine_error = import_error
 
     ALLOWED_BACKENDS = ("sympy", "symengine")  # noqa
     BACKEND_ENV_VAR = "SUMPY_FORCE_SYMBOLIC_BACKEND"  # noqa
@@ -60,11 +61,9 @@ def _find_symbolic_backend():
                     ", ".join("'%s'" % val for val in ALLOWED_BACKENDS)))
 
         if backend == "symengine" and not symengine_found:
-            from warnings import warn
-            warn("%s=symengine was specified, but could not find symengine. "
-                 "Using sympy." % BACKEND_ENV_VAR, RuntimeWarning)
+            raise RuntimeError("could not find SymEngine: %s" % symengine_error)
 
-        USE_SYMENGINE = backend == "symengine" and symengine_found
+        USE_SYMENGINE = True
     else:
         USE_SYMENGINE = symengine_found