diff --git a/sklearn/model_selection/_split.py b/sklearn/model_selection/_split.py
index 49b7874facf2aa7397aa4747127b91a5f2a5af18..7d9c8f9aad9547d261ac25b127e3e75d0231861c 100644
--- a/sklearn/model_selection/_split.py
+++ b/sklearn/model_selection/_split.py
@@ -1929,7 +1929,7 @@ def train_test_split(*arrays, **options):
 
     if shuffle is False:
         if stratify is not None:
-            raise NotImplementedError(
+            raise ValueError(
                 "Stratified train/test split is not implemented for "
                 "shuffle=False")
 
diff --git a/sklearn/model_selection/tests/test_split.py b/sklearn/model_selection/tests/test_split.py
index d6efff7b2b0fc834fc51fe9e9e7921dc997cca8e..ad77ecd7b8242c5c3342b9227c4a97a13b52bff9 100644
--- a/sklearn/model_selection/tests/test_split.py
+++ b/sklearn/model_selection/tests/test_split.py
@@ -931,7 +931,7 @@ def test_train_test_split_errors():
     assert_raises(TypeError, train_test_split, range(3),
                   some_argument=1.1)
     assert_raises(ValueError, train_test_split, range(3), range(42))
-    assert_raises(NotImplementedError, train_test_split, range(10),
+    assert_raises(ValueError, train_test_split, range(10),
                   shuffle=False, stratify=True)