diff --git a/Pluralizer.php b/Pluralizer.php
index <HASH>..<HASH> 100644
--- a/Pluralizer.php
+++ b/Pluralizer.php
@@ -193,6 +193,8 @@ class Pluralizer {
 		{
 			if (preg_match($pattern = '/'.$pattern.'$/i', $value))
 			{
+				$irregular = static::matchCase($irregular, $value);
+				
 				return preg_replace($pattern, $irregular, $value);
 			}
 		}
@@ -204,9 +206,33 @@ class Pluralizer {
 		{
 			if (preg_match($pattern, $value))
 			{
-				return preg_replace($pattern, $inflected, $value);
+				$inflected = preg_replace($pattern, $inflected, $value);
+
+				return static::matchCase($inflected, $value);
+			}
+		}
+	}
+	
+	/**
+	 * Attempt to match the case on two strings.
+	 *
+	 * @param  string  $value
+	 * @param  string  $comparison
+	 * @return string
+	 */
+	protected static function matchCase($value, $comparison)
+	{
+		$functions = array('mb_strtolower', 'mb_strtoupper', 'ucfirst', 'ucwords');
+
+		foreach ($functions as $function) 
+		{
+			if (call_user_func($function, $comparison) === $comparison)
+			{
+				return call_user_func($function, $value);
 			}
 		}
+
+		return $value;
 	}
 
-}
\ No newline at end of file
+}
Update Pluralizer.php

Added a matchCase method to attempt to determine case format and apply it but fallback to default value if not found. Added matchCase to the irregular and inflected return values.