diff --git src/wp-includes/link-template.php src/wp-includes/link-template.php
index dfd80f4..31373dc 100644
--- src/wp-includes/link-template.php
+++ src/wp-includes/link-template.php
@@ -3158,6 +3158,8 @@ function content_url($path = '') {
 */
 function plugins_url( $path = '', $plugin = '' ) {
 
+	$plugin = wp_get_plugin_realpath( $plugin );
+
 	$path = wp_normalize_path( $path );
 	$plugin = wp_normalize_path( $plugin );
 	$mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR );
diff --git src/wp-includes/plugin.php src/wp-includes/plugin.php
index 1ec2497..815d582 100644
--- src/wp-includes/plugin.php
+++ src/wp-includes/plugin.php
@@ -667,20 +667,12 @@ function remove_all_actions($tag, $priority = false) {
  *
  * @since 1.5.0
  *
- * @global array $wp_plugin_paths
- *
  * @param string $file The filename of plugin.
  * @return string The name of a plugin.
  */
 function plugin_basename( $file ) {
-	global $wp_plugin_paths;
-
-	foreach ( $wp_plugin_paths as $dir => $realdir ) {
-		if ( strpos( $file, $realdir ) === 0 ) {
-			$file = $dir . substr( $file, strlen( $realdir ) );
-		}
-	}
 
+	$file = wp_get_plugin_realpath( $file );
 	$file = wp_normalize_path( $file );
 	$plugin_dir = wp_normalize_path( WP_PLUGIN_DIR );
 	$mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR );
@@ -690,6 +682,7 @@ function plugin_basename( $file ) {
 	return $file;
 }
 
+
 /**
  * Register a plugin's real path.
  *
@@ -732,6 +725,34 @@ function wp_register_plugin_realpath( $file ) {
 }
 
 /**
+ *  Get the path of a symlinked plugin.
+ *
+ * This is used to return the target of a symlinked plugin that has been registered using wp_register_plugin_realpath.
+ *
+ * @since 4.3.1
+ *
+ * @see plugin_basename()
+ *
+ * @global array $wp_plugin_paths
+ *
+ * @param string $file Known path to the file, typically passed in as __FILE__
+ * @return string Returns the target filesystem path of a symlinked file
+ */
+function wp_get_plugin_realpath( $file ) {
+
+	global $wp_plugin_paths;
+
+	foreach ( $wp_plugin_paths as $dir => $realdir ) {
+		if ( 0 === strpos( $file, $realdir ) ) {
+			$file = $dir . substr( $file, strlen( $realdir ) );
+		}
+	}
+
+	return $file;
+
+}
+
+/**
  * Get the filesystem directory path (with trailing slash) for the plugin __FILE__ passed in.
  *
  * @since 2.8.0
