diff --git a/VERSION b/VERSION
index ee90284..90a27f9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.4
+1.0.5
diff --git a/internal/pkg/commands/events.go b/internal/pkg/commands/events.go
index b390987..b278f8d 100644
--- a/internal/pkg/commands/events.go
+++ b/internal/pkg/commands/events.go
@@ -47,6 +47,7 @@
 	Count    int    `short:"c" long:"count" default:"-1" value-name:"LIMIT" description:"Limit the count of messages that will be printed"`
 	Now      bool   `short:"n" long:"now" description:"Stop printing events when current time is reached"`
 	Timeout  int    `short:"t" long:"idle" default:"900" value-name:"SECONDS" description:"Timeout if no message received within specified seconds"`
+	Since    string `short:"s" long:"since" default:"" value-name:"TIMESTAMP" description:"Do not show entries before timestamp"`
 }
 
 type EventOpts struct {
@@ -95,6 +96,26 @@
 	}
 }
 
+func ParseSince(s string) (*time.Time, error) {
+	if strings.EqualFold(s, "now") {
+		since := time.Now()
+		return &since, nil
+	}
+
+	rfc3339Time, err := time.Parse(time.RFC3339, s)
+	if err == nil {
+		return &rfc3339Time, nil
+	}
+
+	duration, err := time.ParseDuration(s)
+	if err == nil {
+		since := time.Now().Add(-duration)
+		return &since, nil
+	}
+
+	return nil, fmt.Errorf("Unable to parse time specification `%s`. Please use either `now`, a duration, or an RFC3339-compliant string", s)
+}
+
 // Extract the header, as well as a few other items that might be of interest
 func DecodeHeader(md *desc.MessageDescriptor, b []byte, ts time.Time) (*EventHeader, error) {
 	m := dynamic.NewMessage(md)
@@ -390,6 +411,14 @@
 		return err
 	}
 
+	var since *time.Time
+	if options.Since != "" {
+		since, err = ParseSince(options.Since)
+		if err != nil {
+			return err
+		}
+	}
+
 	// Get signnal for finish
 	doneCh := make(chan struct{})
 	go func() {
@@ -409,6 +438,8 @@
 				}
 				if headerFilter != nil && !headerFilter.Evaluate(*hdr) {
 					// skip printing message
+				} else if since != nil && since.Unix() > hdr.Timestamp {
+					// it's too old
 				} else {
 					// comma separated between this message and predecessor
 					if count > 0 {
