diff --git a/radioactivity.inc b/radioactivity.inc
index fda9b88..c9c95dd 100644
--- a/radioactivity.inc
+++ b/radioactivity.inc
@@ -104,13 +104,15 @@ function radioactivity_get_energies_for_source($oid, $oclass, $source) {
     $classname=$oclass; // the default class name
 
     // check if we need to resolve full classname
-    if (is_array($decay_profile['energy'][$oclass]['subclasses'])) {
-      foreach ($decay_profile['energy'][$oclass]['subclasses'] as $subsources) {
-        if (isset($subsources[$source])) {
-          // there is subclass specific energy value for the source, so
-          // resolve subclass
-          $classname=_radioactivity_resolve_classname($oid, $oclass);
-          break;
+    if (array_key_exists('subclasses', $decay_profile['energy'][$oclass])) {
+      if (is_array($decay_profile['energy'][$oclass]['subclasses'])) {
+        foreach ($decay_profile['energy'][$oclass]['subclasses'] as $subsources) {
+          if (isset($subsources[$source])) {
+            // there is subclass specific energy value for the source, so
+            // resolve subclass
+            $classname=_radioactivity_resolve_classname($oid, $oclass);
+            break;
+          }
         }
       }
     }
