diff --git a/Makefile b/Makefile
index 44047b48..ea39c9e5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
 TESTS = tests/test.js
 LOCAL_TESTS = test/*.js
 REPORTER = spec
+JSONLD_TEST_SUITE=node_modules/json-ld-test-suite
 
 all:
 
diff --git a/js/jsonld.js b/js/jsonld.js
index 762df365..9df25170 100644
--- a/js/jsonld.js
+++ b/js/jsonld.js
@@ -5742,6 +5742,15 @@ function _createTermDefinition(activeCtx, localCtx, term, defined) {
       {code: 'keyword redefinition', context: localCtx, term: term});
   }
 
+  if(term === '@version') {
+    if(value !== 1.1) {
+      throw new JsonLdError(
+        'Invalid JSON-LD syntax; version must be 1.1 if specified',
+        'jsonld.SyntaxError',
+        {code: 'invalid @version value', context: localCtx});
+    }
+  }
+
   if(term === '') {
     throw new JsonLdError(
       'Invalid JSON-LD syntax; a term cannot be an empty string.',
diff --git a/package.json b/package.json
index f83410df..61937cca 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
   "main": "js/jsonld.js",
   "dependencies": {
     "es6-promise": "^2.0.0",
+    "json-ld-test-suite": "^1.0.1",
     "pkginfo": "~0.4.0",
     "request": "^2.61.0",
     "xmldom": "0.1.19"
diff --git a/tests/test.js b/tests/test.js
index 06ba4c8b..f98845f4 100644
--- a/tests/test.js
+++ b/tests/test.js
@@ -96,7 +96,8 @@ var ROOT_MANIFEST_DIR = resolvePath(
 var TEST_TYPES = {
   'jld:CompactTest': {
     skip: {
-      processingMode: ['json-ld-1.1']
+      processingMode: ['json-ld-1.1'],
+      regex: [/tp005/]
     },
     fn: 'compact',
     params: [
@@ -108,7 +109,8 @@ var TEST_TYPES = {
   },
   'jld:ExpandTest': {
     skip: {
-      processingMode: ['json-ld-1.1']
+      processingMode: ['json-ld-1.1'],
+      regex: [/tp002/]
     },
     fn: 'expand',
     params: [