Tijdens één van zijn lange tochten krijgt Johan het aan de stok met enkele soldeniers omdat ze te kwistig met hun zweep omgingen. Het draait uit op een gevecht tussen de ridder en de soldaten en Johan dreigt het onderspit te moeten delven tegen de vele geoefende mannen. Hij wordt echter gade geslagen door Hachin, een bultenaar, die de rode ridder wil steunen. Hij roept de hulp in van Storkas, een reus uit het hoge noorden die er niet voor terug deinst om de soldeniers in zijn eentje aan te pakken. Het pleit is dan ook snel beslecht en voordat het volledige garnizoen er aan komt maken Johan en zijn twee nieuwe vrienden zich snel uit te voeten.
Terwijl Hachin en Storkas hun schuilplaats opzoeken gaat Johan uitleg vragen aan de Baljuw in de hoop een verklaring te vinden voor het harde optreden van zijn soldeniers. Hij krijgt een aanvaardbare uitleg maar hij krijgt al snel de indruk van diens vrouw Zaïdah dat hij niet welkom is en beter zou vertrekken. Johan druipt af en gaat terug naar zijn makkers, niet wetende dat hij op de voet gevolgd wordt door Trogir de dwerg en dienaar van Zaïdah. De dwerg ontdekt zo hun schuilplaats en hoort hoe Hachin de ridder voorstelt aan diens dochter Maruka. Hij hoort de bultenaar eveneens vertellen dat er zich rare dingen voordoen in de stad. Mensen verdwijnen zonder reden en het gerucht doet de ronde dat Zaïdah hier iets mee te maken zou hebben. Zijn beoefend volgens velen de zwarte magie en zou alzo haar man in haar greep hebben. Ze kunnen echter niets bewijzen maar met de hulp van Johan hopen ze het mysterie op te lossen. Die nacht zullen ze het huis van de Baljuw in de gaten houden om te zien wat er gebeurd.
Trogir die alles gehoord heeft brengt verslag uit met zijn meesteres waardoor het drietal in de val loopt. Overal staan immers wachten opgesteld en het duurt niet lang alvorens ze in de val lopen. Dankzij de kracht van Storkas kunnen ze ontkomen en vluchten naar hun schuilplaats waar ze tot hun verbazing moeten vaststellen dat Maruka ontvoerd werd en in groot gevaar verkeert. Hachin kan nu niet anders dan zijn geheim prijsgeven. Hij is immers geen bultenaar. Hij is niemand minder dan de landvoogd Graaf Waldimar en Maruka is niet zijn dochter maar zijn vrouw. Hij kwam incognito naar de stad om vast te stellen of de verhalen die hij hoorde enige waarheid bevatte maar moet nu vaststellen dat ze inderdaad niet verzonnen waren. Omdat hun schuilplaats gekend is hebben ze geen tijd meer te verliezen om in actie te komen. Waldimar kent de onderaardse gewelven van de stad en weet dat ze via de riolen ongemerkt tot aan het paleis van de Baljuw kunnen geraken.
Terwijl de soldeniers bovengronds op zoek gaan naar de mannen wordt Maruka door de heks ondervraagd. Omdat ze zich veilig
voelt vertelt ze haar ware toedracht. Enkel door het geven van mensenoffers zal ze de verboden kennis kunnen doorgronden.
Nu is de tijd gekomen om de mensen te offeren en haar macht te vergroten. Ze beseft echter niet dat Johan, Walidmar en
Storkas al via de kelders zijn binnengedrongen in het paleis en enkel wanneer de gevechten met de soldeniers losbarsten
heeft ze geen tijd meer te verliezen.
Op straat horen de mensen het kabaal en besluiten om niet langer gebukt te gaan onder de tirannie en zetten eveneens een
stormloop in op het huis van de Baljuw. Met vereende krachten slagen ze erin om Maruka en de gevangenen te bevrijden maar
kunnen niet voorkomen dat de dwerg en de Baljuw slachtoffer worden van de boosaardige vrouw. Op die hielen gezeten door de
bevolking struikeld de heks waardoor ze een dodelijke val van de trap maakt. Hierdoor zijn alle betoveringen verbroken en
kan de stad weer vrij ademhalen onder het bewind van de landvoogd. De stad gaat opniew gouden tijden tegemoed en enkele
weken later kan Johan zijn tocht verderzetten. Niet alleen echter want Storkas heeft avontuur geroken en wil de ridder
vergezellen op zijn lange queeste.