Running a CI job on a branch *and* merge requests on it

I have a .gitlab-ci.yml file with a job that runs only for the “master” branch, and another that is set as manual (“when: manual”). When I create a merge request from another branch onto “master”, the merge request shows only the manual job as a skipped pipeline (which I can run manually), but does not run the job assigned to the “master” branch. Shouldn’t it be run automatically? Can I get this behavior?