diff --git a/AAI.cabal b/AAI.cabal
--- a/AAI.cabal
+++ b/AAI.cabal
@@ -1,5 +1,5 @@
 name:                   AAI
-version:                0.2.0.0
+version:                0.2.0.1
 synopsis:               Abstract Application Interface.
 description:            The Abstract Application Interface is used to define a
                         generic interface for handling command line parameter
@@ -24,7 +24,7 @@
 source-repository this
   type:                 git
   location:             https://github.com/aka-bash0r/AAI
-  tag:                  v0.2.0.0
+  tag:                  v0.2.0.1
 
 library
   exposed-modules:      Control.Command
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,8 @@
 # Changelog
 
+## v0.2.0.1
+* Fixed a bug where the route function could end in unexhaustive patterns.
+
 ## v0.2.0.0
 * Changed the interface of help from Command type class.
 * Changed routing mechanism to not execute immediately.
diff --git a/src/Control/Router.hs b/src/Control/Router.hs
--- a/src/Control/Router.hs
+++ b/src/Control/Router.hs
@@ -27,6 +27,8 @@
 
 -- | Route a specific instruction to a command.
 route :: (Command a, Router a, Alternative m, Monad m) => [a] -> String -> m a
+route []     _   =
+    empty
 route (x:xs) cmd =
     if routes x cmd
        then return x
