diff --git a/fileutil.cc b/fileutil.cc
index 0886def..0d3c2d6 100644
--- a/fileutil.cc
+++ b/fileutil.cc
@@ -157,7 +157,7 @@
       vector<string>* files = p.first->second = new vector<string>;
       if (strcspn(pat, "?*[\\") != strlen(pat)) {
         glob_t gl;
-        glob(pat, GLOB_NOSORT, NULL, &gl);
+        glob(pat, 0, NULL, &gl);
         for (size_t i = 0; i < gl.gl_pathc; i++) {
           files->push_back(gl.gl_pathv[i]);
         }
diff --git a/func.cc b/func.cc
index b3d2660..a7d1c8c 100644
--- a/func.cc
+++ b/func.cc
@@ -318,7 +318,6 @@
   for (StringPiece tok : WordScanner(pat)) {
     ScopedTerminator st(tok);
     Glob(tok.data(), &files);
-    sort(files->begin(), files->end());
     for (const string& file : *files) {
       ww.Write(file);
     }
diff --git a/regen.cc b/regen.cc
index 3d03f67..c72bfb6 100644
--- a/regen.cc
+++ b/regen.cc
@@ -263,7 +263,6 @@
     COLLECT_STATS("glob time (regen)");
     vector<string>* files;
     Glob(gr->pat.c_str(), &files);
-    sort(files->begin(), files->end());
     bool needs_regen = files->size() != gr->result.size();
     for (size_t i = 0; i < gr->result.size(); i++) {
       if (!needs_regen) {
diff --git a/testcase/include_glob_order.mk b/testcase/include_glob_order.mk
new file mode 100644
index 0000000..8b337f9
--- /dev/null
+++ b/testcase/include_glob_order.mk
@@ -0,0 +1,19 @@
+MAKEVER:=$(shell make --version | ruby -n0e 'puts $$_[/Make (\d)/,1]')
+
+# GNU make 4 doesn't sort glob results.
+ifeq ($(MAKEVER,4))
+
+$(info test skipped)
+
+else
+
+test1:
+	echo '$$(info foo)' > foo.d
+	echo '$$(info bar)' > bar.d
+
+test2:
+	echo $(wildcard *.d)
+
+-include *.d
+
+endif
diff --git a/testcase/ninja_regen_glob.sh b/testcase/ninja_regen_glob.sh
new file mode 100755
index 0000000..71dca29
--- /dev/null
+++ b/testcase/ninja_regen_glob.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Copyright 2016 Google Inc. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+log=/tmp/log
+mk="$@"
+
+sleep_if_necessary() {
+  if [ x$(uname) != x"Linux" -o x"${TRAVIS}" != x"" ]; then
+    sleep "$@"
+  fi
+}
+
+touch xe.mk yc.mk xa.mk yb.mk xd.mk
+
+cat <<EOF > Makefile
+include *.mk
+all:
+	echo foo
+EOF
+
+${mk} 2> ${log}
+if [ -e ninja.sh ]; then
+  ./ninja.sh
+fi
+
+${mk} 2> ${log}
+if [ -e ninja.sh ]; then
+  if grep regenerating ${log}; then
+    echo 'Should not be regenerated'
+  fi
+  ./ninja.sh
+fi
