diff --git a/appveyor.yml b/appveyor.yml
index 26f21c68..768289e4 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,49 +1,33 @@
+# Appveyor configuration template for Rust using rustup for Rust installation
+# https://github.com/starkat99/appveyor-rust
+
+os: Visual Studio 2015
+
 environment:
-    matrix:
-        - RUST_INSTALL_TOOLCHAIN: gnu
-          RUST_CHANNEL: stable
-        - RUST_INSTALL_TOOLCHAIN: msvc
-          RUST_CHANNEL: nightly
+  matrix:
 
-matrix:
-    allow_failures:
-        - RUST_CHANNEL: nightly
-
-platform:
-    - x86
-    - x64
+  # Stable 64-bit MSVC
+    - channel: stable
+      target: x86_64-pc-windows-msvc
+  # Stable 32-bit MSVC
+    - channel: stable
+      target: i686-pc-windows-msvc
+  # Stable 64-bit GNU
+    - channel: stable
+      target: x86_64-pc-windows-gnu
+  # Stable 32-bit GNU
+    - channel: stable
+      target: i686-pc-windows-gnu
 
 install:
-    - ps: Start-FileDownload "http://static.rust-lang.org/dist/channel-rust-${env:RUST_CHANNEL}"
-    - ps: |
-          if ($env:PLATFORM -eq "x86") {
-            $env:RUST_INSTALLER = Select-String "i686-pc-windows-${env:RUST_INSTALL_TOOLCHAIN}.*exe" "channel-rust-${env:RUST_CHANNEL}" | select -exp line
-          } else {
-            $env:RUST_INSTALLER = Select-String "x86_64-pc-windows-${env:RUST_INSTALL_TOOLCHAIN}.*exe" "channel-rust-${env:RUST_CHANNEL}" | select -exp line
-          }
-    - ps: Start-FileDownload "http://static.rust-lang.org/dist/${env:RUST_INSTALLER}"
-    - '%RUST_INSTALLER% /VERYSILENT /NORESTART /DIR="C:\Rust"'
-    - ps: $env:path = "C:\Rust\bin;" + $env:path
-    - ps: |
-        if ($env:RUST_INSTALL_TOOLCHAIN -eq "gnu" -And $env:PLATFORM -eq "x64") {
-            Start-FileDownload "http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/5.1.0/threads-win32/seh/x86_64-5.1.0-release-win32-seh-rt_v4-rev0.7z/download" -FileName mingw64.7z
-            7z x -oC:\ mingw64.7z > $null
-            $env:path = "C:\mingw64\bin;" + $env:path
-            gcc --version
-        }
-        elseif ($env:RUST_INSTALL_TOOLCHAIN -eq "gnu") {
-            $env:path = "C:\mingw\bin;" + $env:path
-            gcc --version
-        }
-    - ps: |
-        if ($env:PLATFORM -eq "x64") { $env:vcargs = "amd64" }
-        else { $env:vcargs = "x86" }
-    - call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %vcargs%
-    - rustc --version --verbose
-    - cargo --version
+  - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
+  - rustup-init -yv --default-toolchain %channel% --default-host %target%
+  - set PATH=%PATH%;%USERPROFILE%\.cargo\bin
+  - rustc -vV
+  - cargo -vV
 
 build: false
 
 test_script:
-    - cargo test
-    - cargo test --no-default-features
+  - cargo test
+  - cargo test --no-default-features