diff --git a/mbtk/libgsw_lib/gsw_gnss_interface.c b/mbtk/libgsw_lib/gsw_gnss_interface.c
index be46146..99496e9 100755
--- a/mbtk/libgsw_lib/gsw_gnss_interface.c
+++ b/mbtk/libgsw_lib/gsw_gnss_interface.c
@@ -361,7 +361,7 @@
         return;
     }
     
-    if(ind_type == MBTK_GNSS_IND_LOCATION) {
+    if(ind_type == MBTK_GNSS_IND_LOCATION && gsw_cb->gsw_location_cb != NULL) {
         if(data_len != sizeof(mbtk_gnss_location_info_t))
 		{
 			LOGE("[GSW_gnss] data size error");
@@ -376,9 +376,10 @@
         gsw_location_t.speed = locl_info->speed;
         gsw_location_t.bearing = locl_info->bearing;
         gsw_location_t.timestamp = locl_info->timestamp;
+        gsw_location_t.flags = locl_info->flags;
         gsw_location.legacyLocation = gsw_location_t;
         gsw_cb->gsw_location_cb(&gsw_location);  
-    } else if(ind_type == MBTK_GNSS_IND_NMEA) {
+    } else if(ind_type == MBTK_GNSS_IND_NMEA && gsw_cb->gsw_nmea_cb != NULL) {
         mopen_gnss_nmea_info_t qser_nmea = {0};
         memset(&qser_nmea, 0x0, sizeof(mopen_gnss_nmea_info_t));
         qser_nmea.length = data_len;
@@ -406,7 +407,7 @@
         if(ret == 0)
         {
             mbtk_gnss_ind_set=(int(*)(uint32_t ,int))dlsym(dlHandle_gnss, "mbtk_gnss_ind_set");
-            ret = mbtk_gnss_ind_set(MBTK_GNSS_IND_NMEA, QSER_GNSS_TIMEOUT);
+            ret = mbtk_gnss_ind_set(MBTK_GNSS_IND_NMEA |MBTK_GNSS_IND_LOCATION, QSER_GNSS_TIMEOUT);
             if(ret == 0)
             {
                 inited = true;
