This is usually due to executing a direct to a waypoint, that has a geometric angle path coded towards it.
For example, if you have FF36 and CF36 waypoints for an approach to runway, sometimes there will be a coded 3 degree path between the two waypoints. If you insert and execute a direct to FF36, the FMC will generate a 3 degree path from your current position to that waypoint, and (in the eyes of the FMC) there will no longer be a need for a DECEL waypoint, or for you to fly at whatever speed you have programmed, because you can just "simply" follow the 3 degree path all the way to the runway, even though that is easier said then done.
Depending on your company policy with manual waypoint creation, you can fix it by manually inserting the "offending" waypoint, which means it won't have the 3 degree path coded towards it anymore, and you will be able to restore normal VNAV profile.