diff --git a/Changes b/Changes
new file mode 100644
index 0000000..9880f32
--- /dev/null
+++ b/Changes
@@ -0,0 +1,3 @@
+0.1.2 2021-12-05
+    - Improve performance of rune to symbol conversion in transduction
+      method.
diff --git a/datok.go b/datok.go
index ef3667b..0ffaac0 100644
--- a/datok.go
+++ b/datok.go
@@ -841,16 +841,19 @@
 					eot = true
 				}
 				a = dat.sigmaASCII[int(char)]
+
+				// Use identity symbol if character is not in sigma
+				if a == 0 && dat.identity != -1 {
+					a = dat.identity
+				}
+
 			} else {
 				a, ok = dat.sigma[char]
-				if !ok {
-					a = 0
-				}
-			}
 
-			// Use identity symbol if character is not in sigma
-			if a == 0 && dat.identity != -1 {
-				a = dat.identity
+				// Use identity symbol if character is not in sigma
+				if !ok && dat.identity != -1 {
+					a = dat.identity
+				}
 			}
 
 			t0 = t
diff --git a/datok_test.go b/datok_test.go
index 1beb9b7..d3de001 100644
--- a/datok_test.go
+++ b/datok_test.go
@@ -1078,7 +1078,12 @@
 //   BenchmarkDoubleArrayLarger-4                  16          71058822 ns/op         6357860 B/op       2577 allocs/op
 //   BenchmarkMatrixTransduce-4                 36703             31891 ns/op           28944 B/op         17 allocs/op
 // 2021-11-10 - rearranged longest match operator
-//   BenchmarkDoubleArrayTransduce-4    	   34522	     33210 ns/op	   28944 B/op	      17 allocs/op
-//   BenchmarkDoubleArrayConstruction-4   	   66990	     16012 ns/op	   10703 B/op	      29 allocs/op
-//   BenchmarkDoubleArrayLarger-4         	      16	  62829878 ns/op	 6357823 B/op	    2576 allocs/op
-//   BenchmarkMatrixTransduce-4           	   36154	     32702 ns/op	   28944 B/op	      17 allocs/op
+//   BenchmarkDoubleArrayTransduce-4            34522	             33210 ns/op          28944 B/op	      17 allocs/op
+//   BenchmarkDoubleArrayConstruction-4         66990              16012 ns/op          10703 B/op	      29 allocs/op
+//   BenchmarkDoubleArrayLarger-4                  16           62829878 ns/op        6357823 B/op	    2576 allocs/op
+//   BenchmarkMatrixTransduce-4                 36154              32702 ns/op          28944 B/op	      17 allocs/op
+// 2021-12-04 - optimize identity branch
+//   BenchmarkDoubleArrayTransduce-4            34903             32255 ns/op           28944 B/op         17 allocs/op
+//   BenchmarkDoubleArrayConstruction-4         79394             14561 ns/op           10703 B/op         29 allocs/op
+//   BenchmarkDoubleArrayLarger-4                  19          60257675 ns/op         6357911 B/op       2577 allocs/op
+//   BenchmarkMatrixTransduce-4                 35076             30581 ns/op           28944 B/op         17 allocs/op
diff --git a/matrix.go b/matrix.go
index 57f0c14..565de87 100644
--- a/matrix.go
+++ b/matrix.go
@@ -37,6 +37,10 @@
 		stateCount: auto.stateCount,
 	}
 
+	for i := 0; i < 256; i++ {
+		mat.sigmaASCII[i] = mat.identity
+	}
+
 	max := 0
 	for num, sym := range auto.sigmaRev {
 		if int(sym) < 256 {
@@ -399,16 +403,18 @@
 					eot = true
 				}
 				a = mat.sigmaASCII[int(char)]
+
+				if a == 0 && mat.identity != -1 {
+					a = mat.identity
+				}
+
 			} else {
 				a, ok = mat.sigma[char]
-				if !ok {
-					a = 0
-				}
-			}
 
-			// Use identity symbol if character is not in sigma
-			if a == 0 && mat.identity != -1 {
-				a = mat.identity
+				// Use identity symbol if character is not in sigma
+				if !ok && mat.identity != -1 {
+					a = mat.identity
+				}
 			}
 
 			t0 = t
