diff --git a/src/plugins/pinyin/plugin/pinyininputmethod.cpp b/src/plugins/pinyin/plugin/pinyininputmethod.cpp
index 4215ab51e21bbfedb56feb1bfafc5c7bce669674..975ce9cfcf5bf500983e803fbb49787d2ed8af1f 100644
--- a/src/plugins/pinyin/plugin/pinyininputmethod.cpp
+++ b/src/plugins/pinyin/plugin/pinyininputmethod.cpp
@@ -73,7 +73,7 @@ public:
         QVirtualKeyboardInputContext *inputContext = q->inputContext();
 
         // Disable the user dictionary when entering sensitive data
-        if (inputContext) {
+        if (inputContext && pinyinDecoderService) {
             bool userDictionaryEnabled = !inputContext->inputMethodHints().testFlag(Qt::ImhSensitiveData);
             if (userDictionaryEnabled != pinyinDecoderService->isUserDictionaryEnabled())
                 pinyinDecoderService->setUserDictionary(userDictionaryEnabled);