diff --git a/Gruntfile.js b/Gruntfile.js
index 59ad896d50cecd08b891768d12fd4efad2d9b554..b58eabe2b66bd1effa7506cd7760e699e54bb603 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,3 +1,5 @@
+const sass = require('node-sass');
+
 /* global module:false */
 module.exports = function(grunt) {
 	var port = grunt.option('port') || 8000;
@@ -35,6 +37,9 @@ module.exports = function(grunt) {
 		},
 
 		sass: {
+			options: {
+				implementation: sass,
+			},
 			core: {
 				src: 'css/reveal.scss',
 				dest: 'css/reveal.css'
diff --git a/package.json b/package.json
index 35fcc513265be9d240465c8883f28f4364c33d02..2cc5d4126a002a549a698a9adadcdd31d74f7fd9 100644
--- a/package.json
+++ b/package.json
@@ -33,11 +33,12 @@
     "grunt-contrib-qunit": "^2.0.0",
     "grunt-contrib-uglify": "^3.3.0",
     "grunt-contrib-watch": "^1.0.0",
-    "grunt-sass": "^2.0.0",
+    "grunt-sass": "^3.0.2",
     "grunt-retire": "^1.0.7",
     "grunt-zip": "~0.17.1",
     "mustache": "^2.3.0",
-    "socket.io": "^2.2.0"
+    "socket.io": "^2.2.0",
+    "node-sass": "^4.11.0"
   },
   "license": "MIT"
 }