Mixed conditionals
B2 44 / 50
In short
A mixed conditional joins two different times: the if-clause and the result clause point to different moments. You take the matching half of the second and third conditionals and combine them - one clause about the past, the other about now.
The rule
The “pure” conditionals keep both clauses in the same time frame:
- Third conditional = past condition -> past result (an imagined past): If I had studied, I would have passed.
- Second conditional = present/unreal condition -> present result: If I knew the answer, I would tell you.
A mixed conditional crosses these wires when cause and effect happen at different times. There are two common types.
Type A - Past condition -> Present result. Something (un)real in the past still shapes the situation now.
| If-clause (past) | Result clause (present) |
|---|---|
| if + past perfect | would / could / might + base verb |
If I had taken that job, I would be richer now. (I didn’t take it, so I’m not richer today.)
Type B - Present/general condition -> Past result. A permanent fact or general truth about now explains an imagined past outcome.
| If-clause (present/general) | Result clause (past) |
|---|---|
| if + past simple | would / could / might + have + past participle |
If I weren’t so shy, I would have spoken to her at the party. (I am a shy person - that’s why I stayed silent back then.)
The trick is always the same: decide which clause is past and which is present, then pick the form that matches each one.
Forms & patterns
| Type | If-clause | Result clause | Meaning |
|---|---|---|---|
| A: past -> present | if + had + past participle | would + base | past cause, present effect |
| B: present -> past | if + past simple | would have + past participle | present cause, past effect |
You can swap would for could (ability/possibility) or might (uncertainty), and the clause order is free - just add a comma when the if-clause comes first:
- I would be fluent now if I had kept practising. (no comma, result first)
- If I had kept practising, I would be fluent now. (comma, if first)
Swap if for even if when the condition would not have changed anything - the result holds despite it, often with still: Even if I had apologised, she would still be angry with me.
With be in a Type B present clause, formal English prefers were for all persons: If he were more careful, he wouldn’t have lost it.
could is allowed in the Type B if-clause too - it is the past simple of can, not a would-form: If I could drive, I would have taken you to the station.
Examples
| English | Note |
|---|---|
| If she had set an alarm, she wouldn’t be late right now. | Type A: past omission -> present consequence. |
| If we had booked earlier, we would be on the beach today. | Type A: missed past action, present regret. |
| If I hadn’t missed the train, I would be at the office by now. | Type A: hadn’t + present would be. |
| If they weren’t vegetarians, they would have ordered the steak. | Type B: permanent fact -> past choice. |
| If he spoke Italian, he would have understood the menu. | Type B: general ability now -> past result. |
| If I were a morning person, I would have come to the early class. | Type B: were for all persons in formal use. |
| You could be a doctor now if you had finished medical school. | Type A with could for ability. |
| If she didn’t hate flying, she might have joined us in Rome. | Type B with might for an uncertain past outcome. |
Common mistakes
- If I had taken that job, I would have been richer now. -> …I would be richer now. - the result is present (now), so use would + base, not would have.
- If I am not so shy, I would have spoken to her. -> If I weren’t so shy… - a present/general condition takes the past simple (formal were), not the present.
- If I would have known, I would be upset. -> If I had known… - never put would in the if-clause.
- If she had been taller, she would have been a model now. -> …she would be a model now. - mixing past if with present now needs would be, not would have been.
- If he weren’t lazy, he would finish it yesterday. -> …he would have finished it yesterday. - a past result needs would have + past participle.
Tips
- Look for time markers: words like now, today, currently in the result point to a present result (Type A); yesterday, last week, at the party point to a past result (Type B).
- Build it from the two conditionals you already know: take the if-half of the third conditional and the result-half of the second (Type A), or vice versa (Type B).
- Decide the time of each clause first, then choose the form - don’t let the two halves “agree” with each other out of habit.
- Would have + been = a past state; would be = a present state. Pick by asking “when is the result true - then or now?”