diff --git a/src/QBar/Blocks/Battery.hs b/src/QBar/Blocks/Battery.hs
index 2edd8f7be0e5e4eae176cb67a4ae5cee9662e04d..fd8b5ed52fcde4d2cf47670b5ba744234b2ba454 100644
--- a/src/QBar/Blocks/Battery.hs
+++ b/src/QBar/Blocks/Battery.hs
@@ -73,10 +73,16 @@ batteryBlock = do
 
     getPluggedState :: IO Bool
     getPluggedState = do
-      line <- tryMaybe $ T.strip <$> TIO.readFile "/sys/class/power_supply/AC/online"
-      case line of
-        Just "1" -> return True
-        _ -> return False
+      stateAC <- getPluggedStateFromFile "/sys/class/power_supply/AC/online"
+      stateACAD <- fromMaybe False <$> getPluggedStateFromFile "/sys/class/power_supply/ACAD/online"
+      return $ fromMaybe stateACAD stateAC
+      where
+        getPluggedStateFromFile :: FilePath -> IO (Maybe Bool)
+        getPluggedStateFromFile f = do
+          line <- tryMaybe $ T.strip <$> TIO.readFile f
+          case line of
+            Just "1" -> return . return $ True
+            _ -> return . return $ False
 
 
 batteryBlockOutput :: Bool -> [BatteryState] -> Maybe BlockOutput