Which is correct?

He promised that he will be home tomorrow.

He promised that he would have been home tomorrow.


Both sound wrong to me. I think you mean to use future in the past:

He promised he would be home tomorrow.

He promised he would have been home tomorrow, while not grammatically incorrect implies that the whole situation is hypothetical and I think it is unlikely that this 'unreal' meaning is what you want to express.

I cannot explain why I dislike promised ... will and COCA usage indicates that some people use it but promised ... would is far more common and should be preferred.

  • As I said in my comment below , it was in our final exam in Egypt. Here is the complete question : Mona promised that she............................. home tomorrow. a) be b) would have been c) will have been d) will be – Bialy Jun 14 '11 at 8:58
  • @Bialy And it seems it's not the only mistake in the exam? facebook.com/topic.php?uid=192739377423484&topic=3802 – z7sg Ѫ Jun 14 '11 at 9:41

If you're distinguishing future from future perfect, that's really the difference between "will be" and "will have been". "would" is a different mood, and implies here a counterfactual: he promised that he would have been home tomorrow but he didn't come.

The future tense is correct. Tomorrow is the point where he will be home. It will not have been a completed action in the past at that point.

  • Thanks Sean. That question was in our final exam in Egypt. I answered it just as you did , but a lot of students and even teachers think "would have been" is the correct choice ! I think if "would be" was there ,it would be the most correct one :( – Bialy Jun 14 '11 at 8:56

The first. That is:

He promised that he will be home tomorrow.

Often shortened to:

He promised [that] he'll be home tomorrow.

  • This is simply mistaken. He promises** he'll be home tomorrow, but He promised he'd be home tomorrow, short for he would. (Note that he definitely did not say "I'll be home tomorrow"; probably "I'll be home on Monday".) A case could be made for be (as a subjunctive after ordering or promising), but not for will be. – Tim Lymington Apr 8 '12 at 17:47
  • @TimLymington: I'm not clear what you object to here. There's certainly nothing wrong with he promised (that) he will {do something}, and boehj quite correctly implies that OP's second example is not valid English. In what way is he mistaken? – FumbleFingers Aug 22 '12 at 21:18
  • @FumbleFingers: He promised he will.. is a confusion of tenses; either promises he will or promised he would. (There is of course nothing wrong with what He promised He will perform, which, directly or indirectly, accounts for a lot of your citations). It is certainly arguable that usage, particularly in the USA, has eroded the distinction; but in an English exam, particularly multiple-choice, you should at least be aware of it. – Tim Lymington Aug 23 '12 at 9:55
  • @TimLymington: I'm not taking exams, but I would be deeply unhappy if anyone had the cheek to mark me down for what I don't consider to be incorrect English. We're not going to persuade each other, I'm sure, but I think taking issue with boehj's answer here on grammatical grounds is pedantry, pure and simple. – FumbleFingers Aug 23 '12 at 12:06

Would be seems to be the most suitable, here.

  • 1
    This answer would be improved if you explained the choice you made. – Kit Z. Fox Jun 14 '11 at 1:12
  • Agree with you 100% , but it wasn't a choice ! – Bialy Jun 14 '11 at 8:50

The sentences are examples of reported or indirect speech. It is common to backshift the tense of the verb in the reported clause. Example: He said: "I don't feel well" becomes He said he didn't feel well. It is permissible, however, not to backshift the tense if the reported clause is still true.

So, if he said to you earlier in the day "I will be home tomorrow", and you report what he said to a third person later on the same day, it is permissible to say He promised he will be home tomorrow.

In fact, if you are reporting what he said on a day after he said it, it would be usual to change "tomorrow" to "the following day" - and the backshift is mandatory:

He promised he would be home the following day.


I think "He promised that he will be home tomorrow." is the correct answer in the case spoken about because the futre situation spoken about has not passed yet (tomorrow).

However, where it becomes tricky is in the following example:

Is it better to say:

She promised she would call (but she didn't.)

She promised she would have called (but she didn't.)

Since she didn't call do you think the second sentence works grammatically?

Not the answer you're looking for? Browse other questions tagged or ask your own question.