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); // <-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.