diff --git a/titlecase/__init__.py b/titlecase/__init__.py
index 050b6c5..65341c3 100755
--- a/titlecase/__init__.py
+++ b/titlecase/__init__.py
@@ -129,7 +129,7 @@ def titlecase(text, callback=None, small_first_last=True):
 
             if '-' in word:
                 hyphenated = map(
-                    lambda t: titlecase(t, callback, small_first_last),
+                    lambda t: titlecase(t, callback, False),
                     word.split('-')
                 )
                 tc_line.append("-".join(hyphenated))

diff --git a/titlecase/tests.py b/titlecase/tests.py
index e57e4f8..bfacf9d 100644
--- a/titlecase/tests.py
+++ b/titlecase/tests.py
@@ -31,6 +31,10 @@ TEST_DATA = (
         "dance with me/let’s face the music and dance",
         "Dance With Me/Let’s Face the Music and Dance"
     ),
+    (
+        "a-b end-to-end two-not-three/three-by-four/five-and",
+        "A-B End-to-End Two-Not-Three/Three-by-Four/Five-And"
+    ),
     (
         "34th 3rd 2nd",
         "34th 3rd 2nd"

Small words are erroneously capitalized within hyphenated compound words
When `titlecase()` recurses to process separate words of a hyphenated
compound word, it passes on the current value of the `small_first_last` parameter unchanged. Naturally, this leads to incorrect title-casing
of compound words, containing small words.

For instance, words `end-to-end` and `work-in-progress` are currently
title-cased as `End-To-End` and `Work-In-Progress` instead of the
correct `End-to-End` and `Work-in-Progress`.
titlecase/tests.py::test_callback
titlecase/tests.py::test_initials_regex titlecase/tests.py::test_initials_regex_3 titlecase/tests.py::test_at_and_t titlecase/tests.py::test_initials_regex_2 titlecase/tests.py::test_custom_abbreviations titlecase/tests.py::test_set_small_word_list