When does Log shipping restore job mark itself to completion in standby mode
I would try utilizing the built-in stored procedures to investigate and hopefully correct this.

For example, try running this on the Secondary server while in the master database: 

EXEC sp_help_log_shipping_secondary_database @secondary_database = '&lt;database name&gt;'


This will return a result set that contains a column named 'restore_all' that may be of interest to you.  If that is 0, then when the restore job runs it will stop after restoring only 1 transaction log file.  Otherwise, it will apply as many as possible.

If it is configured incorrectly for your situation, you can change it like this:

EXEC sp_change_log_shipping_secondary_database @secondary_database = '&lt;database name&gt;', @restore_all = 1 


Hopefully, this will help you correct your issue or at least give you a boost in your search for the root cause.