diff --git a/matchers/with_transform.go b/matchers/with_transform.go
index 430223e..a8d2a7c 100644
--- a/matchers/with_transform.go
+++ b/matchers/with_transform.go
@@ -2,6 +2,7 @@
 
 import (
 	"fmt"
+	"github.com/onsi/gomega/internal/asyncassertion"
 	"github.com/onsi/gomega/types"
 	"reflect"
 )
@@ -59,3 +60,7 @@
 func (m *WithTransformMatcher) NegatedFailureMessage(_ interface{}) (message string) {
 	return m.Matcher.NegatedFailureMessage(m.transformedValue)
 }
+
+func (m *WithTransformMatcher) MatchMayChangeInTheFuture(_ interface{}) bool {
+	return asyncassertion.MatchMayChangeInTheFuture(m.Matcher, m.transformedValue)
+}
diff --git a/matchers/with_transform_test.go b/matchers/with_transform_test.go
index 4d1a363..7ac6f1c 100644
--- a/matchers/with_transform_test.go
+++ b/matchers/with_transform_test.go
@@ -4,6 +4,7 @@
 	"errors"
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
+	. "github.com/onsi/gomega/matchers"
 )
 
 var _ = Describe("WithTransformMatcher", func() {
@@ -84,4 +85,24 @@
 			})
 		})
 	})
+
+	Context("MatchMayChangeInTheFuture()", func() {
+		It("Propogates value from wrapped matcher on the transformed value", func() {
+			// dummy struct that holds a channel
+			type S struct{ C chan int }
+			getC := func(s S) chan int { return s.C } // extracts channel from struct
+			// wrap a Receive matcher, which does implement this method
+			var i int
+			m := WithTransform(getC, Receive(&i))
+			s := S{make(chan int)}
+			close(s.C)
+			Expect(m.Match(s)).To(BeFalse())
+			Expect(m.(*WithTransformMatcher).MatchMayChangeInTheFuture(s)).To(BeFalse()) // channel closed so Receive return false
+		})
+		It("Defaults to true", func() {
+			m := WithTransform(plus1, Equal(2)) // Equal does not have this method
+			Expect(m.Match(1)).To(BeTrue())
+			Expect(m.(*WithTransformMatcher).MatchMayChangeInTheFuture(1)).To(BeTrue()) // defaults to true
+		})
+	})
 })
