diff --git a/.travis.yml b/.travis.yml
index 4f92d2ccb26dbab28ff549641770ce3f24baa11d..c8bf19f7fe021d921b4d1baac4269c4efb8f4291 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,6 +18,7 @@ rust:
 
 os:
   - linux
+  - osx
 
 addons:
   apt:
diff --git a/run_desktop_tests.sh b/run_desktop_tests.sh
index 11786e7604d2e3b53d0b80f0d304fb9daa91016d..5f7807bae0abec3a3795639512b1e0283c2ed788 100755
--- a/run_desktop_tests.sh
+++ b/run_desktop_tests.sh
@@ -13,17 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-set -eu
-
-# Ensure we have the key_material.rs file before running the tests
-if [ ! -f src/ctap/key_material.rs ]
-then
-  echo "$(tput bold)ERROR:$(tput sgr0) Cannot find src/ctap/key_material.rs file."
-  echo "Please make sure that you have run the following script: ./setup.sh"
-  exit 2
-fi
-
-set -x
+set -eux
 
 echo "Checking formatting..."
 cargo fmt --all -- --check
@@ -46,27 +36,29 @@ cargo check --release --target=thumbv7em-none-eabi --examples
 echo "Checking that CTAP2 builds and links properly (1 set of features)..."
 cargo build --release --target=thumbv7em-none-eabi --features with_ctap1
 
-echo "Running unit tests on the desktop (release mode)..."
-cd libraries/cbor
-cargo test --release --features std
-cd ../..
-cd libraries/crypto
-RUSTFLAGS='-C target-feature=+aes' cargo test --release --features std,derive_debug
-cd ../..
-cargo test --release --features std
-
-echo "Running unit tests on the desktop (debug mode)..."
-cd libraries/cbor
-cargo test --features std
-cd ../..
-cd libraries/crypto
-RUSTFLAGS='-C target-feature=+aes' cargo test --features std,derive_debug
-cd ../..
-cargo test --features std
+if [ "${TRAVIS_OS_NAME}" = "linux" ]
+then
+  echo "Running unit tests on the desktop (release mode)..."
+  cd libraries/cbor
+  cargo test --release --features std
+  cd ../..
+  cd libraries/crypto
+  RUSTFLAGS='-C target-feature=+aes' cargo test --release --features std,derive_debug
+  cd ../..
+  cargo test --release --features std
 
-echo "Running unit tests on the desktop (release mode + CTAP1)..."
-cargo test --release --features std,with_ctap1
+  echo "Running unit tests on the desktop (debug mode)..."
+  cd libraries/cbor
+  cargo test --features std
+  cd ../..
+  cd libraries/crypto
+  RUSTFLAGS='-C target-feature=+aes' cargo test --features std,derive_debug
+  cd ../..
+  cargo test --features std
 
-echo "Running unit tests on the desktop (debug mode + CTAP1)..."
-cargo test --features std,with_ctap1
+  echo "Running unit tests on the desktop (release mode + CTAP1)..."
+  cargo test --release --features std,with_ctap1
 
+  echo "Running unit tests on the desktop (debug mode + CTAP1)..."
+  cargo test --features std,with_ctap1
+fi