This is happening because your server checks for the presence of a file on the filesystem first. If found, it executes or serves the file.
If not found, it passes to IPS, and IPS has to work to determine if the URI if the request represents something to serve out, if the request has permission, and whether or not to return the not found error.
You can identify the traffic that is asking for things it shouldn't be asking for and block it with a firewall, either on your server or in-between your server and the requestor.
This configuration may be complex and depends entirely on your environment, yet the behavior you are seeing is precisely by design otherwise.