diff --git a/dbm.cabal b/dbm.cabal
--- a/dbm.cabal
+++ b/dbm.cabal
@@ -1,5 +1,5 @@
 name:                dbm
-version:             0.2.2
+version:             0.3
 synopsis:            A *simple* database migration tool.
 homepage:            https://github.com/relrod/dbm
 license:             BSD3
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -3,7 +3,7 @@
 
 import Control.Monad
 import Data.Ini
-import Data.List (elem, isSuffixOf)
+import Data.List (elem, isSuffixOf, sort)
 import Data.Maybe (fromMaybe)
 import Data.Monoid ((<>))
 import qualified Data.Text as T
@@ -126,7 +126,7 @@
   mid <- fromMaybe 0 <$> getLastMigration cfg
   migrations <- filter (\x -> ".sql" `isSuffixOf` x) <$> listDirectory "sql"
   let migrationList = fmap (\x -> (parseMigrationId x, "sql/" ++ x)) migrations
-  migrationFiltered <- filterM (getNecessaryMigrations' mid) migrationList
+  migrationFiltered <- filterM (getNecessaryMigrations' mid) (sort migrationList)
   return [(x, y) | (Just x, y) <- migrationFiltered]
   where
     getNecessaryMigrations' _ (Nothing, fn) = do
