You already know that modals take a bare infinitive: Ik kan het vinden ("I can find it"). The question this page answers is what happens when you push that into the perfect tense. You'd expect the modal to become a past participle — and in English it does, sort of ("I haven't been able to find it"). But Dutch does something striking: the modal refuses to become a participle and stays an infinitive instead. So it's Ik heb het niet *kunnen vinden, *never Ik heb het niet *gekund vinden. The result is two infinitives stacked at the end of the clause — the *double infinitive. Grammarians call the effect the Infinitivus pro Participio (IPP), "infinitive instead of participle," or in Dutch the vervangende infinitief ("substitute infinitive"). This page explains why it happens, which verbs trigger it, and — crucially — the unusual word order it forces in subordinate clauses. For the general mechanics of how verb clusters line up, see word-order/verb-cluster-order.
The core rule
When a verb that governs a bare infinitive is itself put into the perfect (with hebben), it appears as an infinitive, not a past participle. The auxiliary hebben is conjugated as normal; everything after it is infinitives.
So the participle you'd expect — gekund, gemoeten, gewild, gemogen, gelaten, gezien, gehoord — does not appear when a verb follows. It is replaced by the plain infinitive: kunnen, moeten, willen, mogen, laten, zien, horen.
| You'd expect (participle) | Dutch actually uses (infinitive) |
|---|---|
| Ik heb het niet | Ik heb het niet kunnen vinden |
| Ik heb | Ik heb moeten werken |
| Ze heeft me laten | Ze heeft me laten wachten |
Ik heb niet kunnen komen door de storm.
I wasn't able to come because of the storm. — 'kunnen', not 'gekund'.
Ik heb de hele week moeten overwerken.
I've had to work overtime all week. — 'moeten', not 'gemoeten'.
Hij heeft het altijd al willen doen.
He's always wanted to do it. — 'willen', not 'gewild', because an infinitive follows.
Which verbs trigger IPP
Three groups force the substitute infinitive:
- All the modals — kunnen, mogen, moeten, willen, zullen, hoeven. (Zullen is rarely seen in the perfect for independent reasons, but it patterns the same way.)
- laten (to let / to have something done — causative) and doen (to make, literary). See verbs/causative-laten.
- The perception verbs zien (see), horen (hear), voelen (feel), and the verbs helpen (help), leren (teach/learn) — all of which take a bare infinitive complement. See verbs/perception-verbs.
Ze hebben ons een uur laten wachten.
They made us wait for an hour. — causative 'laten', IPP.
Ik heb hem horen zingen onder de douche.
I heard him singing in the shower. — perception 'horen', IPP.
Ik heb hem zien lopen op de markt.
I saw him walking at the market. — 'zien', IPP.
Ze heeft me leren autorijden.
She taught me to drive. — 'leren', IPP.
With helpen, both forms are heard in the present (helpen (te) koken), but in the perfect IPP wins: Ik heb haar helpen koken ("I helped her cook"). Note how clean this is compared with English, which needs "help her cook" vs "helped her cook" — Dutch keeps helpen as a bare infinitive throughout the cluster.
Word order: the auxiliary jumps in front
This is where IPP gets genuinely tricky, and where it differs from everything else you've learned about Dutch word order. Normally, in a subordinate clause, the verb goes to the very end: ...dat hij het gedaan heeft ("...that he did it") — participle, then auxiliary, both at the back, auxiliary last.
But in an IPP cluster, the auxiliary heeft moves to the FRONT of the verb group, before both infinitives, instead of sitting at the end:
| Clause type | Order |
|---|---|
| ordinary perfect (subordinate) | ...dat hij het gedaan heeft (participle + aux, aux last) |
| IPP cluster (subordinate) | ...dat hij het heeft willen doen (aux FIRST, then the infinitives) |
So you do not say ...dat hij het willen doen heeft (auxiliary last, as the normal rule would predict). The finite auxiliary heeft leaps to the head of the cluster: ...dat hij het heeft willen doen. This "auxiliary-first" order is one of the most reliable tells of an advanced speaker, and getting it wrong is the second-most-common IPP error after using the participle.
Het spijt me dat ik niet eerder heb kunnen reageren.
I'm sorry I couldn't reply sooner. — subordinate clause, 'heb' before 'kunnen reageren'.
Ik weet dat ze ons heeft willen waarschuwen.
I know she wanted to warn us. — 'heeft willen waarschuwen', auxiliary first.
Hij zegt dat hij het niet heeft kunnen voorkomen.
He says he couldn't prevent it. — 'heeft kunnen voorkomen', aux leads the cluster.
In a main clause, where the finite verb is already in second position, the issue doesn't arise — the infinitives simply pile up at the end in the order modal-then-main: Ik *heb het niet kunnen voorkomen*. The auxiliary is second by the V2 rule; the two infinitives close the clause. The "jump" is only visible in subordinate clauses, where the normal end-position is disrupted.
Ik heb het je nog willen zeggen, maar ik vergat het.
I meant to tell you, but I forgot. — main clause: 'heb ... willen zeggen', infinitives at the end.
Three verbs deep: stacking
Because each IPP verb can govern another infinitive, you can build clusters of three or more verbs — common with a modal over a causative or perception verb. The same rules apply: no participles, and in a subordinate clause the auxiliary leads.
Ik heb hem niet kunnen laten weten dat ik later kwam.
I couldn't let him know I'd be late. — three infinitives: 'kunnen laten weten'.
...omdat ze ons niet heeft willen laten wachten.
...because she didn't want to make us wait. — subordinate: 'heeft willen laten wachten', aux first, three infinitives after.
These towers look intimidating, but they're built by one repeated rule: keep every governing verb an infinitive, and in subordinate clauses put the finite auxiliary in front of the whole stack. Read the cluster left to right and it tracks the meaning: heeft willen laten wachten = "has [wanted [to make [wait]]]."
Common Mistakes
❌ Ik heb het niet gekund vinden.
Incorrect — with a following infinitive, the modal goes IPP; use 'kunnen', not 'gekund'.
✅ Ik heb het niet kunnen vinden.
I couldn't find it. — double infinitive 'kunnen vinden'.
❌ Ze heeft me laten gewacht.
Incorrect — the complement of 'laten' stays a bare infinitive; it's 'laten wachten', not a participle.
✅ Ze heeft me laten wachten.
She made me wait.
❌ ...dat hij het willen doen heeft.
Wrong order — in an IPP subordinate clause the auxiliary goes first, not last.
✅ ...dat hij het heeft willen doen.
...that he wanted to do it. — 'heeft' before both infinitives.
❌ Ik heb hem gezien lopen.
Incorrect — perception verbs also trigger IPP; use 'zien', not 'gezien'.
✅ Ik heb hem zien lopen.
I saw him walking.
❌ Ik heb gemoeten werken.
Incorrect — 'moeten' over an infinitive stays an infinitive in the perfect.
✅ Ik heb moeten werken.
I had to work.
Key Takeaways
- In the perfect, a verb governing a bare infinitive stays an infinitive, not a participle: heb *kunnen vinden, not *gekund vinden. This is the IPP / substitute-infinitive effect.
- Triggers: all modals, laten/doen, and perception/helpen/leren verbs.
- The real participle (gekund, gewild, gemoeten) survives only when no verb follows: Ik heb het gekund.
- In subordinate clauses, the finite auxiliary moves in front of the infinitives: ...dat hij het *heeft willen doen, not ...willen doen heeft*.
- Clusters of three or more infinitives follow the same two rules — no participles, auxiliary first in subordinate clauses.
Now practice Dutch
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Dutch→Related Topics
- Modal Verbs: OverviewA2 — A map of the six Dutch modals — kunnen, mogen, moeten, willen, zullen, hoeven — and the one pattern they share: modal + bare infinitive at the end of the clause.
- Kunnen: Can, Be Able, MayA2 — How to use and conjugate kunnen — for ability, possibility, and informal permission — including the kan/kun/kunt variation and the inversion form kun je / kan je.
- Causative Laten (and Doen)B2 — How laten + infinitive collapses English let, make, and have-something-done into a single verb, plus the literary doen-causative and the double-infinitive perfect.
- Perception Verbs + Infinitive (zien, horen, voelen)B2 — How zien, horen and voelen take a bare infinitive to mean 'see/hear/feel someone do something', and why their perfect doubles the infinitive instead of using a participle.
- Ordering Verbs in the Final ClusterB2 — When two or more verbs pile up at the end of a subordinate clause, the order among them can vary — the famous 'red' and 'green' word orders — and with three verbs the infinitivus-pro-participio rule kicks in.
- The Verb Bracket (Tangconstructie)A2 — In a Dutch main clause the finite verb stays second while infinitives, participles, and separable particles are flung to the very end, sandwiching the sentence in a 'pincer' bracket.