diff --git a/module_citeq.lua b/module_citeq.lua
index 2c97880..d901bb6 100644
--- a/module_citeq.lua
+++ b/module_citeq.lua
@@ -569,14 +569,6 @@ local function _cite_q (citeq_args)
citeq_args.wdl = nil
citeq_args.template = nil
- -- QID as normal form; emit error if not ^Q%d+$ (e.g. a Wikidata URL)
- local qid_form = mw.ustring.match(mw.text.trim(qid), "^Q%d+$") or nil
- if qid_form then
- qid = qid_form
- else
- cq_errors = cq_errors .. ' {{[[Template:Cite Q|Cite Q]]}}: QID parameter must be supplied as "Q" followed by digits, e.g. Q12345 ([[Template:Cite Q#Error messages|help]]) '
- end
-
-- if title supplied, flag to not read html title
local titleforced = (citeq_args.title ~= nil)
@@ -1155,6 +1147,12 @@ local function cite_q (frame)
args.language = args.language or args.lang
args.lang = nil
+ -- QID as normal form; emit error if not ^Q%d+$ (e.g. a Wikidata URL)
+ local qid_form = mw.ustring.match(mw.text.trim(args.qid), "^Q%d+$") or nil
+ if not qid_form then
+ return ' {{[[Template:Cite Q|Cite Q]]}}: QID parameter must be supplied as "Q" followed by digits, e.g. Q12345 ([[Template:Cite Q#Error messages|help]]) '
+ end
+
local cites = {}
for q in args.qid:gmatch("Q%d+") do
-- make a new copy of the arguments