Diff Problems between Oracle and Hibernate

I’m running into some issues using the diff functionality between hibernate and our oracle database. Every time I do a diff liquibase wants to recreate the primary key, and delete the old index that was created by setting the primary key. What’s especially fun is that it tries to do so in the wrong order. First it tries to recreate the primary key, then delete the old one. Which cause oracle to throw an exception, because the primary key already exists.

And I have what is probably a related problem, which is why when i diff or generate an initial changeset for where our database currently is, does liquibase (or possibly oracle) generate indexes instead of primary key changesets?

Any help is greatly appreciated.