patch matches the lines to replace, and confirms that with the unified context. Is it possible rely only on the context?

example:

( (at)s below replaced with # because otherwise it is recognized as a URL)
Code:
--- ../build_dir/target-mips_r2_uClibc-0.9.30.1/root-ar71xx/lib/wifi/mac80211.sh	2010-10-06 10:14:01.213492564 +0100
+++ ../build_dir/target-mips_r2_uClibc-0.9.30.1/root-ar71xx/lib/wifi/mac80211.sh.new	2010-10-06 09:38:10.004492542 +0100
## -440,7 +440,7 ##
 	option device   radio$devidx
 	option network  lan
 	option mode     ap
-	option ssid     OpenWrt
+	option ssid     OpenWrt1
 	option encryption none
 
 EOF
I create this patch automatically and change OpenWrt1 to OpenWrtN, where N is in 1,2,...,n.
This patch should be able to be applied whatever the original line is? That is because the line can come from a previously patched file and so be OpenWrtN itself.
The usual solution would be to first reverse the patch, and only then apply the new, but is there a simpler solution? It looks that patch(1) only allows some "fuzz" behaviour on the context, and not the line itself...