diff --git a/apps/app_page.c b/apps/app_page.c
index 2ea367eddee6c95f5943de337d9304baac98bf48..5db858ce9424aed1377cea3874f69b79488c4708 100644
--- a/apps/app_page.c
+++ b/apps/app_page.c
@@ -124,9 +124,14 @@ static int page_exec(struct ast_channel *chan, void *data)
 		}
 
 		/* Ensure device is not in use if skip option is enabled */
-		if (ast_test_flag(&flags, PAGE_SKIP) && (state = ast_device_state(tech)) != AST_DEVICE_NOT_INUSE) {
-			ast_log(LOG_WARNING, "Destination '%s' has device state '%s'.\n", tech, devstate2str(state));
-			continue;
+		if (ast_test_flag(&flags, PAGE_SKIP)) {
+			state = ast_device_state(tech);
+			if (state == AST_DEVICE_UNKNOWN) {
+				ast_log(LOG_WARNING, "Destination '%s' has device state '%s'. Paging anyway.\n", tech, devstate2str(state));
+			} else if (state != AST_DEVICE_NOT_INUSE) {
+				ast_log(LOG_WARNING, "Destination '%s' has device state '%s'.\n", tech, devstate2str(state));
+				continue;
+			}
 		}
 
 		*resource++ = '\0';