Take 2 at the primitive_ fix

Previously in pull request #11, until I accidentally merged that one in prematurely.