diff --git a/src/components/staging-parser.ts b/src/components/staging-parser.ts
index 400f919..f1d25ac 100644
--- a/src/components/staging-parser.ts
+++ b/src/components/staging-parser.ts
@@ -19,16 +19,32 @@ const addResolutionDateToClosedStage = (issue: JiraApiIssue, stageMap, stageBins
   return stageBins;
 };
 
+const caseInsensetiveGet = (map: Map<string, any>, keyToGet: string) => {
+  const lowerCaseKeyToGet = keyToGet.toLowerCase()
+  const entries = [...map.entries()]
+  const found = entries.find(entry => entry[0].toLowerCase() === lowerCaseKeyToGet)
+  return found !== undefined ? found[1] : undefined
+}
+
+const caseInsensetiveHas = (map: Map<string, any>, keyToCheck: string) => {
+  return caseInsensetiveGet(map, keyToCheck) !== undefined
+}
+
+
 const populateStages = (issue: JiraApiIssue, stageMap, stageBins, unusedStages = new Map<string, number>()) => {
   // sort status changes into stage bins
   issue.changelog.histories.forEach(history => {
     history.items.forEach(historyItem => {
+      const stageName: string = historyItem.toString;
+      const stageDate: string = history['created'];
+
       if (historyItem['field'] === 'status') {
-        const stageName: string = historyItem.toString;
         if (stageMap.has(stageName)) {
           const stageIndex: number = stageMap.get(stageName);
-          const stageDate: string = history['created'];
           stageBins[stageIndex].push(stageDate);
+        } else if (caseInsensetiveHas(stageMap, stageName)) {
+            const stageIndex: number = caseInsensetiveGet(stageMap, stageName);
+            stageBins[stageIndex].push(stageDate);
         } else {
           const count: number = unusedStages.has(stageName) ? unusedStages.get(stageName) : 0;
           unusedStages.set(stageName, count + 1);
@@ -41,9 +57,11 @@ const populateStages = (issue: JiraApiIssue, stageMap, stageBins, unusedStages =
         const stageName: string = historyItem.toString;
         if (stageMap.has(stageName)) {
           const stageIndex: number = stageMap.get(stageName);
-          const stageDate: string = history['created'];
           stageBins[stageIndex].push(stageDate);
-        } else {
+        } else if (caseInsensetiveHas(stageMap, stageName)) {
+          const stageIndex: number = caseInsensetiveGet(stageMap, stageName);
+          stageBins[stageIndex].push(stageDate);
+      } else {
           const count: number = unusedStages.has(stageName) ? unusedStages.get(stageName) : 0;
           unusedStages.set(stageName, count + 1);
         }
@@ -64,7 +82,7 @@ const filterAndFlattenStagingDates = (stageBins: string[][]) => {
       validStageDates.sort();
       latestValidIssueDateSoFar = validStageDates[validStageDates.length - 1];
       const earliestStageDate = validStageDates[0];
-      return earliestStageDate.split('T')[0]; 
+      return earliestStageDate.split('T')[0];
     } else {
       return '';
     }