diff --git a/lib/private/Config.php b/lib/private/Config.php
index c881e485006cb41a80b1d81801f6d241324f7e9d..f462bebaf5887a3ecc76e59d4a0c8d41e6ca4b9f 100644
--- a/lib/private/Config.php
+++ b/lib/private/Config.php
@@ -265,10 +265,8 @@ class Config {
 		flock($filePointer, LOCK_UN);
 		fclose($filePointer);
 
-		// Try invalidating the opcache just for the file we wrote...
-		if (!\OC_Util::deleteFromOpcodeCache($this->configFilePath)) {
-			// But if that doesn't work, clear the whole cache.
-			\OC_Util::clearOpcodeCache();
+		if (function_exists('opcache_invalidate')) {
+			@opcache_invalidate($this->configFilePath, true);
 		}
 	}
 }
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index cd6ce0b64ae6608a8407acd7593d0a675907dd15..af2d555b8852ba8a0028c88ba2ed1ed651d00c7f 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -1323,37 +1323,6 @@ class OC_Util {
 		return $theme;
 	}
 
-	/**
-	 * Clear a single file from the opcode cache
-	 * This is useful for writing to the config file
-	 * in case the opcode cache does not re-validate files
-	 * Returns true if successful, false if unsuccessful:
-	 * caller should fall back on clearing the entire cache
-	 * with clearOpcodeCache() if unsuccessful
-	 *
-	 * @param string $path the path of the file to clear from the cache
-	 * @return bool true if underlying function returns true, otherwise false
-	 */
-	public static function deleteFromOpcodeCache($path): bool {
-		if (!empty($path) && function_exists('opcache_invalidate')) {
-			return @opcache_invalidate($path); // Zend OpCache >= 7.0.0, PHP >= 5.5.0
-		}
-		return false;
-	}
-
-	/**
-	 * Clear the opcode cache if one exists
-	 * This is necessary for writing to the config file
-	 * in case the opcode cache does not re-validate files
-	 *
-	 * @return void
-	 */
-	public static function clearOpcodeCache(): void {
-		if (function_exists('opcache_reset')) {
-			@opcache_reset(); // Opcache (PHP >= 5.5)
-		}
-	}
-
 	/**
 	 * Normalize a unicode string
 	 *