fix push registration logic