diff --git a/src/taglist.c b/src/taglist.c
index 90608518be31f125534b7ea0b01b25958207f04b..a9879e49522cfbe195cdfde51ab360ea3b9176b5 100644
--- a/src/taglist.c
+++ b/src/taglist.c
@@ -15,6 +15,10 @@
 #include "z_zone.h"
 #include "r_data.h"
 
+taggroup_t* tags_sectors[MAXTAGS + 1];
+taggroup_t* tags_lines[MAXTAGS + 1];
+taggroup_t* tags_mapthings[MAXTAGS + 1];
+
 void Tag_Add (taglist_t* list, const mtag_t tag)
 {
 	list->tags = Z_Realloc(list->tags, (list->count + 1) * sizeof(list->tags), PU_LEVEL, NULL);
diff --git a/src/taglist.h b/src/taglist.h
index 52979b55fbf902a3a1fbac2d0bb9a938ca91ba81..f3895eabbb4dedc694007accff74805156f0a9ee 100644
--- a/src/taglist.h
+++ b/src/taglist.h
@@ -44,9 +44,9 @@ typedef struct
 	size_t count;
 } taggroup_t;
 
-taggroup_t* tags_sectors[MAXTAGS + 1];
-taggroup_t* tags_lines[MAXTAGS + 1];
-taggroup_t* tags_mapthings[MAXTAGS + 1];
+extern taggroup_t* tags_sectors[];
+extern taggroup_t* tags_lines[];
+extern taggroup_t* tags_mapthings[];
 
 void Taggroup_Add (taggroup_t *garray[], const mtag_t tag, size_t id);
 void Taggroup_Remove (taggroup_t *garray[], const mtag_t tag, size_t id);