Problem: Workflow & Button Trigger Order Issue

Problem: Workflow & Button Trigger Order Issue

I've run into an issue with the CRM where workflows & custom button actions are triggering in the wrong order.

Simplified User Actions Scenario
- Update a field to trigger workflow which sets field status to "In Progress"
- Clicks Custom Button which updates field status to "Closed"

Expected Outcome
After performing steps above the Status should be "Closed"

Actual Outcome
The field status gets updated to "Closed" first and then gets updated to "In Progress"

Above is a very simplified version of what I've got going on. It all falls apart when the custom button uses field data that gets set by the workflow. It throws an error because the button is triggering before the workflow.

Should these workflows & actions not occur in the order in which they are triggered?