diff --git a/cqfd b/cqfd
index 057d5ddd501bf29675c7e3cefdb0a5fc61c8c75d..60e7c8d0b77b02f24101f46839923f814391ab2d 100755
--- a/cqfd
+++ b/cqfd
@@ -20,7 +20,8 @@
 set -e
 
 PROGNAME=`basename $0`
-dockerfile=".cqfd/docker/Dockerfile"
+cqfd_dir=".cqfd"
+dockerfile="$cqfd_dir/docker/Dockerfile"
 cqfdrc=".cqfdrc"
 
 ## usage() - print usage on stdout
@@ -30,6 +31,7 @@ Usage: $PROGNAME [OPTION ARGUMENT] [COMMAND] [ARGUMENTS]
 
 Options:
     -f <file>           Use file as config file (default .cqfdrc)
+    -d <dir>            Use directory as cqfd directory (default .cqfd)
     -b <flavor_name>    Target a specific build flavor.
 
 Commands:
@@ -231,7 +233,7 @@ config_load() {
 
     build_cmd="$command"
     if [ -n "$distro" ]; then
-        dockerfile=".cqfd/$distro/Dockerfile"
+        dockerfile="$cqfd_dir/$distro/Dockerfile"
     fi
 
     release_files="`eval echo $files`"
@@ -263,6 +265,11 @@ while [ $# -gt 0 ]; do
         shift
         cqfdrc="$1"
         ;;
+    -d)
+        shift
+        cqfd_dir="$1"
+        dockerfile="$cqfd_dir/docker/Dockerfile"
+        ;;
     run|release)
         [ "$1" = "release" ] && make_archive=1
         if [ $# -gt 1 ]; then