B2

Mixed Conditionals — Exercises with Past and Present

Practice mixed conditionals: if I hadn't missed the bus, I'd be at work now; if I weren't so shy, I'd have spoken to her.

  1. If I hadn't missed the bus this morning, I ___ at work now.

    • would be
    • would have been
    • will be
    Show answer

    would be

    The condition is in the past (this morning), but the result is about 'now' → mixed conditional: 'would' + verb ('would be'). 'Would have been' would put the result in the past too.

  2. I'm allergic to cats. If I ___ allergic, I'd have taken the kitten my friend offered me last week.

    • weren't
    • am not
    • wouldn't be
    Show answer

    weren't

    The allergy is a fact about me now and always → unreal present in the 'if' part: past form 'weren't'. The result is in the past (last week) → 'I'd have taken'. Each half gets its own time.

  3. She turned down the job in Paris, and she's still in her hometown. If she'd taken it, she ___ in France now.

    • would be living
    • would have lived
    • will be living
    Show answer

    would be living

    The decision was in the past, but the result is about 'now' → 'would be living'. 'Would have lived' puts the result in the past and doesn't fit 'now'.

  4. If I hadn't spent so much on holiday, I ___ able to buy a new laptop now.

    • would be
    • would have been
    • will be
    • had been
    Show answer

    would be

    The spending was in the past; the result is about 'now' → mixed conditional: 'would be able'. 'Would have been' doesn't fit 'now'.

  5. She's still not here, so she must have missed the train. If she ___ it, she'd be here by now.

    • had caught
    • caught
    • would catch
    • has caught
    Show answer

    had caught

    Missing the train happened earlier (past), and the result is about now ('she'd be here by now') → past perfect in the 'if' part: 'had caught'.

  6. I lent Jack £200 without a second thought. I ___ him all that money yesterday if I didn't trust him completely.

    • wouldn't have lent
    • wouldn't lend
    • hadn't lent
    • won't lend
    Show answer

    wouldn't have lent

    Trusting Jack is true now and always (unreal present: 'if I didn't trust'), but lending the money happened yesterday → past result: 'wouldn't have lent'.

  7. Our flight was cancelled, so we're stuck at the airport. If it ___ cancelled, we'd be in Rome now.

    • hadn't been
    • wasn't
    • wouldn't be
    • isn't
    Show answer

    hadn't been

    The cancellation already happened → past perfect in the 'if' part: 'hadn't been cancelled'. The result is about 'now', so the other half is 'we'd be'.

  8. If Ella weren't so shy, she ___ to him at the party last Saturday.

    • would have spoken
    • would speak
    • had spoken
    • will speak
    Show answer

    would have spoken

    Being shy is part of who Ella is now ('weren't'), but the party was last Saturday → past result: 'would have spoken'.

  9. The flight we missed

    Kate: So how was Barcelona? Was it amazing?
    Ben: We never got there. We missed the flight!
    Kate: You're joking! What happened?
    Ben: My alarm didn't go off. If I {1} it before I went to bed, we {2} the six o'clock flight easily.
    Kate: Couldn't you get another one?
    Ben: Only for €300 each. I wish we {3} the more expensive tickets — they included free changes.
    Kate: So you're at home?
    Ben: Unfortunately. If everything had gone to plan, we {4} on a beach right now.
    Kate: Poor you. Is Anna angry?
    Ben: Very. And she's right — if I {5} so stubborn, I {6} her book everything months ago.
    Kate: Well, it's time you {7} a proper alarm clock. Your phone obviously isn't enough.
    Ben: I know. I just wish Anna {8} talking about it — she's mentioned it about fifty times today!

    • had checked
    • would have caught
    • had bought
    • would be lying
    • weren't
    • would have let
    • bought
    • would stop
    • would catch
    • will stop
    Show answer

    1. had checked — Ben didn't check the alarm the night before — an unreal past condition → 'if' + past perfect: 'had checked'.

    2. would have caught — The flight has already gone → unreal past result: 'would have caught'. 'Would catch' doesn't fit a finished event.

    3. had bought — Buying the tickets is in the past and can't be changed → 'wish' + past perfect: 'had bought'.

    4. would be lying — The plan failed in the past, but 'right now' makes the result present → mixed conditional: 'would be lying'.

    5. weren't — Being stubborn is part of who Ben is now → unreal present: 'if I weren't'.

    6. would have let — Booking would have happened months ago → past result: 'would have let'. The 'if' part is present ('weren't'), so this is a mixed conditional.

    7. bought — 'It's time' + subject + past simple means 'you should do it now': 'it's time you bought'.

    8. would stop — Ben is annoyed by what Anna keeps doing and wants her to change → 'wish' + 'would': 'would stop'. 'Will' is never used after 'wish'.

Mixed Conditionals: Each Half Has Its Own Time

A mixed conditional combines the two unreal patterns because the condition and the result belong to different times. The most common type has a past condition and a present result: If I hadn't missed the bus this morning, I'd be at work now, If she'd taken the job in Paris, she would be living in France now. The second type has a present or permanent condition and a past result: If I weren't so shy, I'd have spoken to her at the party, If I weren't allergic to cats, I'd have taken the kitten. The method is to ask two separate questions — when is the condition, and when is the result? — and give each half the form for its own time. Time words decide the choice: now, still, today and by now point to a present result, so If I'd slept better, I wouldn't be so tired now is mixed, while If I'd slept better, I wouldn't have been tired at the meeting is a regular third conditional.

Last updated: · Satori Editorial

Not sure where to start?

Take the free level test — 25 questions, about 6 minutes, with your score shown immediately. Leave your email to get study tips and updates.

Take the level test