diff --git a/diceware/diceware.py b/diceware/diceware.py
index 57daa2f0c795b38805a13fef3dceb2c710faf344..7b52ebce6c09f92c9e475e6de16fac7ad9c9d2e2 100644
--- a/diceware/diceware.py
+++ b/diceware/diceware.py
@@ -19,6 +19,9 @@ def handle_options(args):
     """Handle commandline options.
     """
     parser = argparse.ArgumentParser(description="Create a passphrase")
+    parser.add_argument(
+        '-n', '--num', default=6, type=int,
+        help='number of words to concatenate. Default: 6')
     args = parser.parse_args(args)
     return args
 
diff --git a/tests/test_diceware.py b/tests/test_diceware.py
index e094d0592a7415bd8bf7b081774f7c24c66c7440..259ec6d1c3dc5fa5a53ef833aeb530ce2a0bde3b 100644
--- a/tests/test_diceware.py
+++ b/tests/test_diceware.py
@@ -62,6 +62,11 @@ class TestDicewareModule(object):
             handle_options(['--help'])
         assert exc_info.value.code == 0
 
+    def test_handle_options_defaults(self):
+        # defaults are correctly set
+        options = handle_options([])
+        assert options.num == 6
+
     def test_main(self, capsys):
         # we can get help
         with pytest.raises(SystemExit) as exc_info:
@@ -71,10 +76,11 @@ class TestDicewareModule(object):
         out = out.replace(
             os.path.basename(sys.argv[0]), 'diceware')
         assert out == (
-            'usage: diceware [-h]\n'
+            'usage: diceware [-h] [-n NUM]\n'
             '\n'
             'Create a passphrase\n'
             '\n'
             'optional arguments:\n'
-            '  -h, --help  show this help message and exit\n'
+            '  -h, --help         show this help message and exit\n'
+            '  -n NUM, --num NUM  number of words to concatenate. Default: 6\n'
             )