diff --git a/basic-auth.php b/basic-auth.php
index 805918c..b2b95d4 100644
--- a/basic-auth.php
+++ b/basic-auth.php
@@ -44,10 +44,15 @@ function json_basic_auth_handler( $user ) {
 	}
 
 	$wp_json_basic_auth_error = true;
-
+	//if we found a user, remove regular cookie filters because
+	//they're just going to overwrite what we've found
+	if( $user->ID ){
+		remove_filter( 'determine_current_user', 'wp_validate_auth_cookie' );
+		remove_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
+	}
 	return $user->ID;
 }
-add_filter( 'determine_current_user', 'json_basic_auth_handler', 20 );
+add_filter( 'determine_current_user', 'json_basic_auth_handler', 5 );
 
 function json_basic_auth_error( $error ) {
 	// Passthrough other errors
@@ -60,3 +65,4 @@ function json_basic_auth_error( $error ) {
 	return $wp_json_basic_auth_error;
 }
 add_filter( 'json_authentication_errors', 'json_basic_auth_error' );
+add_filter( 'rest_authentication_errors', 'json_basic_auth_error' );