diff --git a/packages/py-pynn/package.py b/packages/py-pynn/package.py
index 09044567176d9e276f5d30cb01e75e48d10e0962..f75382bc5ece397b20c23a9d7958b8da1d6d6d4c 100644
--- a/packages/py-pynn/package.py
+++ b/packages/py-pynn/package.py
@@ -17,6 +17,7 @@ class PyPynn(PythonPackage):
 
     maintainers = ["apdavison"]
 
+    version('0.12.3', sha256='e196f9055c46fe5c0e23f491815d16dca8db9be599a226ee11fa67605cab153d')
     version('0.12.2', sha256='8039b68e3e5f98b537038c249dc42c027bd63f9ecc015c82f1f88bd30dfa28a9')
     version('0.12.1', sha256='fef49cc601032565341f02c5c982cb805bc0cc16de75166acb1b7f8c179adfda')
     version('0.11.0', sha256='eab6ef281e0a00180c8b31ffb65984f54216c68464db363a5c09832fec91f952')
@@ -62,7 +63,8 @@ class PyPynn(PythonPackage):
     depends_on('nest@3.3:3.4+python',   type=('run', 'test'), when="@0.10.1:0.11.0")
     depends_on('nest@3.4:+python',      type=('run', 'test'), when="@0.12.1:")
     depends_on('py-brian2',             type=('run', 'test'))
-    depends_on('arbor@0.8.1:+python',   type=('run', 'test'), when="@0.12.1:")
+    depends_on('arbor@0.8.1:+python',   type=('run', 'test'), when="@0.12.1:0.12.2")
+    depends_on('arbor@0.9.0:+python',   type=('run', 'test'), when="@0.12.3:")
 
 
     depends_on('py-mock@1.0:',          type='test')
@@ -80,5 +82,4 @@ class PyPynn(PythonPackage):
     def install_test(self):
         # run tests here:
         pytest = which('pytest')
-        # TODO: fix neuron tests, see !328
-        pytest('-k', 'not [neuron]')
+        pytest()
diff --git a/spack.yaml b/spack.yaml
index edd922485bdf0fe4103cefca44b78d9310d4a807..806ec8b7b1ff3693cb048e8b665185982c9dbd74 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -39,7 +39,7 @@ spack:
     - py-netpyne@1.0.5
     - py-neurom@3.2.2
     - py-neuror@1.6.4
-    - py-pynn@0.12.2 +mpi
+    - py-pynn@0.12.3 +mpi
     - py-pyunicore@1.0.1
     - py-quantities-scidash@0.12.4.3
     - py-quantities@0.15.0