Status report says database out of date, but update.php and drush say up-to-date Drupal 7.39, all modules updated to their latest version using Drush 6.6.0. When I look at the status report it says 'database out of date'. When I do drush updb or call update.php both report that the database is up-to-date. 

How can I find out where the problem is?
Here are the steps I took to solve the problem. @rooby gave the URL that helped to determine which module.

As you can read on the given URL (https://www.drupal.org/node/1263908) the problem is caused by a module having a version of -1 in the system table. The URL has instructions how to find out which one is acting up. I've followed the one in this comment: https://www.drupal.org/node/1263908#comment-9059569

This basically means: 


open [drupalroot]/modules/system/system.install
find the line $requirements['update']['severity'] = REQUIREMENT_ERROR; In drupal 7.39 this is on line 412
add the watchdog line as described: watchdog('module update db', $module); // &lt;-ADDED THIS LINE
open the status page again
now open the watchdog page. You should see a line that starts with 'module update db'. After it you can read the module that causes the problem.


In my case that was environment_indicator. I'm no PHP developer, so I solved the problem by opening the database in Sequel Pro and checking the version column of the system table of this module.

The file environment_indicator.install shows several updates, the first one creating a table. Since the table was present, I entered its version number (7200) in the system table. Now I was able to run the update.php which showed there were 2 updates. I let it update the database, which ran without problems.

When opening the status page everything was fine and I deleted the watchdog line from the system.install file.

I'm just curious why update.php doesn't find any updates, while status page does.