diff --git a/contrib/mklog.py b/contrib/mklog.py
index 6509886741d72abdefc5bebc070a5df9129d90ef..00a001ec5aea73cf79ccb26867b74c029d5584c4 100755
--- a/contrib/mklog.py
+++ b/contrib/mklog.py
@@ -71,7 +71,7 @@ gcc_root = os.path.dirname(os.path.dirname(script_folder))
 def find_changelog(path):
     folder = os.path.split(path)[0]
     while True:
-        if os.path.exists(os.path.join(gcc_root, folder, 'ChangeLog')):
+        if os.path.exists(os.path.join(args.directory, folder, 'ChangeLog')):
             return folder
         folder = os.path.dirname(folder)
         if folder == '':
@@ -277,6 +277,9 @@ if __name__ == '__main__':
                         help='Do not generate function names in ChangeLogs')
     parser.add_argument('-p', '--fill-up-bug-titles', action='store_true',
                         help='Download title of mentioned PRs')
+    parser.add_argument('-d', '--directory', default=gcc_root,
+                        help='Root directory where to search for ChangeLog '
+                        'files')
     parser.add_argument('-c', '--changelog',
                         help='Append the ChangeLog to a git commit message '
                              'file')