diff --git a/coder_sniffer/Drupal/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php b/coder_sniffer/Drupal/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php
index 23808033754766ea3ced6c518d93835f8d114ad0..8f72e85084dbb9aeb928253349e43b43a5655691 100644
--- a/coder_sniffer/Drupal/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php
+++ b/coder_sniffer/Drupal/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php
@@ -38,7 +38,7 @@ class DisallowLongArraySyntaxSniff extends GenericDisallowLongArraySyntaxSniff
     public function process(File $phpcsFile, $stackPtr)
     {
         $drupalVersion = Project::getCoreVersion($phpcsFile);
-        if ($drupalVersion !== '8.x') {
+        if ($drupalVersion < 8) {
             // No need to check this file again, mark it as done.
             return ($phpcsFile->numTokens + 1);
         }
diff --git a/coder_sniffer/DrupalPractice/Project.php b/coder_sniffer/DrupalPractice/Project.php
index 8b775bf8e6d4730618e8d9f0b94b78e362733d75..6b38fe0965cbec33f508193b13aca1facbff5ef1 100644
--- a/coder_sniffer/DrupalPractice/Project.php
+++ b/coder_sniffer/DrupalPractice/Project.php
@@ -12,6 +12,7 @@ namespace DrupalPractice;
 use PHP_CodeSniffer\Files\File;
 use \Drupal\Sniffs\InfoFiles\ClassFilesSniff;
 use Symfony\Component\Yaml\Yaml;
+use PHP_CodeSniffer\Config;
 
 /**
  * Helper class to retrieve project information like module/theme name for a file.
@@ -234,14 +235,21 @@ class Project
      *
      * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
      *
-     * @return string|false The core version string or false if it could not
-     *   be derived.
+     * @return int The core version number. Returns 8 by default.
      */
     public static function getCoreVersion(File $phpcsFile)
     {
+        // First check if a config option was passed.
+        $coreVersion = Config::getConfigData('drupal_core_version');
+        if (empty($coreVersion) === false) {
+            return (int) $coreVersion;
+        }
+
+        // TRy to guess the core version from info files in the file path.
         $infoFile = static::getInfoFile($phpcsFile);
         if ($infoFile === false) {
-            return false;
+            // Default to Drupal 8.
+            return 8;
         }
 
         $pathParts = pathinfo($infoFile);
@@ -249,16 +257,21 @@ class Project
         // Drupal 6 and 7 use the .info file extension.
         if ($pathParts['extension'] === 'info') {
             $infoSettings = ClassFilesSniff::drupalParseInfoFormat(file_get_contents($infoFile));
-            if (isset($infoSettings['core']) === true) {
-                return $infoSettings['core'];
+            if (isset($infoSettings['core']) === true
+                && is_string($infoSettings['core']) === true
+            ) {
+                return (int) $infoSettings['core']{0};
             }
-        } else {
-            // Drupal 8 uses the .yml file extension.
-            // @todo Revisit for Drupal 9, but I don't want to do YAML parsing
-            // for now.
-            return '8.x';
+
+            // Default to Drupal 7 if there is an info file.
+            return 7;
         }
 
+        // Drupal 8 uses the .yml file extension.
+        // @todo Revisit for Drupal 9, but I don't want to do YAML parsing
+        // for now.
+        return 8;
+
     }//end getCoreVersion()
 
 
diff --git a/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalConstantSniff.php b/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalConstantSniff.php
index 98afe01d2ce62e2324383eed5d270b0ceab60ab9..5013691ce2e90467002c477763ac892cc3213a41 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalConstantSniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalConstantSniff.php
@@ -55,7 +55,7 @@ class GlobalConstantSniff implements Sniff
         }
 
         $coreVersion = Project::getCoreVersion($phpcsFile);
-        if ($coreVersion !== '8.x') {
+        if ($coreVersion < 8) {
             // No need to check this file again, mark it as done.
             return ($phpcsFile->numTokens + 1);
         }
diff --git a/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalDefineSniff.php b/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalDefineSniff.php
index c2789677d61b14fab78c0332dc75fcabd4b21e12..7c10d9ac22be4761a93596ba44881b6ac39c373b 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalDefineSniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/Constants/GlobalDefineSniff.php
@@ -63,7 +63,7 @@ class GlobalDefineSniff extends FunctionCall
         }
 
         $coreVersion = Project::getCoreVersion($phpcsFile);
-        if ($coreVersion !== '8.x') {
+        if ($coreVersion < 8) {
             // No need to check this file again, mark it as done.
             return ($phpcsFile->numTokens + 1);
         }
diff --git a/coder_sniffer/DrupalPractice/Sniffs/FunctionCalls/DbQuerySniff.php b/coder_sniffer/DrupalPractice/Sniffs/FunctionCalls/DbQuerySniff.php
index d92b3381302b36bbda7e3ce0a752aa3aca49e061..a8e66bb441bfd41dfb19b0f9ee1e1d40f3af8d01 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/FunctionCalls/DbQuerySniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/FunctionCalls/DbQuerySniff.php
@@ -56,7 +56,7 @@ class DbQuerySniff extends FunctionCall
         $closeBracket
     ) {
         // This check only applies to Drupal 7, not Drupal 6.
-        if (Project::getCoreVersion($phpcsFile) !== '7.x') {
+        if (Project::getCoreVersion($phpcsFile) !== 7) {
             return ($phpcsFile->numTokens + 1);
         }
 
diff --git a/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/HookInitCssSniff.php b/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/HookInitCssSniff.php
index 69d43a417f80b1db4e356935c16ac370ff1a0cb9..1064f94f0fb4b78ffc937be1c2fbfa084b09abcf 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/HookInitCssSniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/HookInitCssSniff.php
@@ -45,7 +45,7 @@ class HookInitCssSniff extends FunctionDefinition
         }
 
         // This check only applies to Drupal 7, not Drupal 6.
-        if (Project::getCoreVersion($phpcsFile) !== '7.x') {
+        if (Project::getCoreVersion($phpcsFile) !== 7) {
             return ($phpcsFile->numTokens + 1);
         }
 
diff --git a/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/InstallTSniff.php b/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/InstallTSniff.php
index 31012b0115aa19ca426cd016a60ebb4edb72501d..5e4311520c1562ada4f06a1fce350f63bc98ea2b 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/InstallTSniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/FunctionDefinitions/InstallTSniff.php
@@ -53,7 +53,7 @@ class InstallTSniff extends FunctionDefinition
         }
 
         // This check only applies to Drupal 7, not Drupal 8.
-        if (Project::getCoreVersion($phpcsFile) !== '7.x') {
+        if (Project::getCoreVersion($phpcsFile) !== 7) {
             return ($phpcsFile->numTokens + 1);
         }
 
diff --git a/coder_sniffer/DrupalPractice/Sniffs/Objects/GlobalFunctionSniff.php b/coder_sniffer/DrupalPractice/Sniffs/Objects/GlobalFunctionSniff.php
index 383f9901d565c7a32db38731c1dc67595731dadf..509927787d18f73834891aaacb4144630b0cc187 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/Objects/GlobalFunctionSniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/Objects/GlobalFunctionSniff.php
@@ -70,7 +70,7 @@ class GlobalFunctionSniff extends FunctionCall
         $tokens = $phpcsFile->getTokens();
 
         // Only run this sniff on Drupal 8+.
-        if (Project::getCoreVersion($phpcsFile) !== '8.x') {
+        if (Project::getCoreVersion($phpcsFile) < 8) {
             // No need to check this file again, mark it as done.
             return ($phpcsFile->numTokens + 1);
         }
diff --git a/coder_sniffer/DrupalPractice/Test/ProjectDetection/ProjectUnitTest.php b/coder_sniffer/DrupalPractice/Test/ProjectDetection/ProjectUnitTest.php
index af9c75e2f3a805099d3f6819e5dc721edb172337..0c5cc2001a2152f2b79778451e3c8ebbc545abb0 100644
--- a/coder_sniffer/DrupalPractice/Test/ProjectDetection/ProjectUnitTest.php
+++ b/coder_sniffer/DrupalPractice/Test/ProjectDetection/ProjectUnitTest.php
@@ -96,15 +96,19 @@ class ProjectUnitTest extends \PHPUnit_Framework_TestCase
         return [
             [
                 dirname(__FILE__).'/modules/drupal6/nested/test.php',
-                '6.x',
+                6,
             ],
             [
                 dirname(__FILE__).'/modules/drupal7/test.php',
-                '7.x',
+                7,
             ],
             [
                 dirname(__FILE__).'/modules/drupal8/test.php',
-                '8.x',
+                8,
+            ],
+            [
+                'invalid',
+                8,
             ],
         ];