diff --git a/exec/tickit.js b/exec/tickit.js
index 7d3f4ac1da51baf377bc7ce99e104398ef3cf705..d9d6a1e321235fff78c2a20dbcefbdb6adaebeb2 100644
--- a/exec/tickit.js
+++ b/exec/tickit.js
@@ -104,6 +104,7 @@ function process_tic(tic)
 		handler_arg = tickit.gcfg.handlerarg;
 	}
 
+	var force_replace_area = false;
 	cfg = tickit.acfg[tic.area.toLowerCase()];
 	if (cfg !== undefined) {
 		if (cfg.path !== undefined) {
@@ -119,6 +120,8 @@ function process_tic(tic)
 			handler = cfg.handler;
 			handler_arg = cfg.handlerarg;
 		}
+		if (cfg.forcereplace !== undefined)
+			force_replace_area = cfg.forcereplace;
 	}
 
 	if (handler !== undefined) {
@@ -166,7 +169,7 @@ function process_tic(tic)
 
 	log(LOG_DEBUG, "Moving file from "+tic.full_path+" to "+path+".");
 	// TODO: optionally delete replaced files even if it's not an overwrite
-	if (file_exists(path+tic.file) && !force_replace) {
+	if (file_exists(path+tic.file) && !force_replace && !force_replace_area) {
 		if (tic.replaces === undefined || !wildmatch(tic.file, tic.replaces)) {
 			log(LOG_ERROR, "'"+tic.full_path+"' already exists in '"+path+"' and TIC does not have matching Replaces line.");
 			return false;