diff --git a/.travis.yml b/.travis.yml
index 9ace0745c..7d8b6e183 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,7 +10,6 @@ before_install:
 - bash miniconda.sh -b -p $HOME/miniconda
 - conda config --set always_yes yes --set changeps1 no
 - conda update -y -q conda
-- conda install "conda=4.3.11"
 script:
 - conda install -c uvcdat/label/nightly -c conda-forge -c uvcdat "vtk-cdat" cdutil genutil dv3d "mesalib=17.1.4=3" nose image-compare flake8 matplotlib
 - export UVCDAT_ANONYMOUS_LOG=False
@@ -22,6 +21,6 @@ script:
 - git clone git://github.com/uv-cdat/uvcdat-testdata
 - cd uvcdat-testdata ; git checkout $TRAVIS_BRANCH ; cd ..
 - df -h
-- python run_tests.py -n 1 -v2 -g --no-vtk-ui
+- python run_tests.py -v2 -n2 -g --no-vtk-ui
 after_success:
     - if [ "$TRAVIS_BRANCH" == "master" -a "$TRAVIS_PULL_REQUEST" == "false" ]; then conda install conda-build && conda install anaconda-client && bash ci-support/conda_upload.sh ; fi
diff --git a/ci-support/circleci_mac.sh b/ci-support/circleci_mac.sh
index e38894d42..faad2ed31 100644
--- a/ci-support/circleci_mac.sh
+++ b/ci-support/circleci_mac.sh
@@ -1,8 +1,7 @@
 export UVCDAT_ANONYMOUS_LOG=False
 export PATH=${HOME}/miniconda/bin:${PATH}
 #export VCS_BACKGROUND=0  # circleci seg faults on bg=1
-#python run_tests.py -v2 -g -H -p  # -H and -p for collection by artifacts
-python run_tests.py -n 1 -v2 -g --no-vtk-ui
+python run_tests.py -n 2 -v2 -g --no-vtk-ui
 RESULT=$?
 echo "test command exit result:",$RESULT
 if [ $RESULT -eq 0 -a $CIRCLE_BRANCH == "master" ]; then conda install conda-build anaconda-client ; fi
diff --git a/ci-support/circleci_mac_dep.sh b/ci-support/circleci_mac_dep.sh
index c34767aca..d99d94c42 100644
--- a/ci-support/circleci_mac_dep.sh
+++ b/ci-support/circleci_mac_dep.sh
@@ -2,6 +2,6 @@
 ls
 pwd
 export PATH=${HOME}/miniconda/bin:${PATH}
-conda install -c uvcdat/label/nightly -c conda-forge -c uvcdat vtk-cdat cdutil genutil dv3d mesalib nose image-compare flake8 matplotlib
+conda install -c uvcdat/label/nightly -c conda-forge -c uvcdat vtk-cdat cdutil genutil dv3d mesalib=17.1.4=3 nose image-compare flake8 matplotlib
 export UVCDAT_ANONYMOUS_LOG=False
 python setup.py install --old-and-unmanageable
diff --git a/ci-support/circleci_mac_machine_pre.sh b/ci-support/circleci_mac_machine_pre.sh
index 1ab39985a..3e701900c 100644
--- a/ci-support/circleci_mac_machine_pre.sh
+++ b/ci-support/circleci_mac_machine_pre.sh
@@ -4,6 +4,5 @@ bash miniconda.sh -b -p $HOME/miniconda
 export PATH=${HOME}/miniconda/bin:${PATH}
 conda config --set always_yes yes --set changeps1 no
 conda update -y -q conda
-conda install "conda=4.3.11"
 conda config --set anaconda_upload no
 git clone git://github.com/uv-cdat/uvcdat-testdata
diff --git a/run_tests.py b/run_tests.py
index af808c3ab..736676458 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -205,7 +205,10 @@ def run_nose(test_name):
 # Make sure we have sample data
 cdat_info.download_sample_data_files(os.path.join(sys.prefix,"share","vcs","test_data_files.txt"),cdat_info.get_sampledata_path())
 p = multiprocessing.Pool(args.cpus)
-outs = p.map(run_nose, names)
+try:
+    outs = p.map_async(run_nose, names).get(3600)
+except KeyboardInterrupt:
+    sys.exit(1)
 results = {}
 failed = []
 for d in outs: