--- loncom/homework/imageresponse.pm	2010/12/19 01:08:11	1.100
+++ loncom/homework/imageresponse.pm	2012/10/12 12:45:46	1.104
@@ -2,7 +2,7 @@
 # The LearningOnline Network with CAPA
 # image click response style
 #
-# $Id: imageresponse.pm,v 1.100 2010/12/19 01:08:11 raeburn Exp $
+# $Id: imageresponse.pm,v 1.104 2012/10/12 12:45:46 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -179,7 +179,8 @@ sub end_imageresponse {
     
     if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || 
 	$target eq 'tex' || $target eq 'analyze') {
-	&Apache::lonxml::increment_counter(&Apache::response::repetition(), 
+        my $repetition = &Apache::response::repetition();
+	&Apache::lonxml::increment_counter($repetition, 
 					   "$part_id.$response_id");
 	if ($target eq 'analyze') {
 	    &Apache::lonhomework::set_bubble_lines();
@@ -211,8 +212,11 @@ sub getfoilcounts {
 
 sub whichfoils {
     my ($max)=@_;
-    return if (!defined(@{ $Apache::response::foilgroup{'names'} }));
-    my @names = @{ $Apache::response::foilgroup{'names'} };
+    my @names;
+    if (ref($Apache::response::foilgroup{'names'}) eq 'ARRAY') {
+        @names = @{ $Apache::response::foilgroup{'names'} };
+    }
+    return if (!@names);
     my @whichopt;
     while ((($#whichopt+1) < $max) && ($#names > -1)) {
 	&Apache::lonxml::debug("Have $#whichopt max is $max");
@@ -472,9 +476,11 @@ sub gradefoils {
 	my ($x,$y) = split(':',$env{"form.HWVAL_$id:$temp"});
 	$response{$name} = $env{"form.HWVAL_$id:$temp"};
 	&Apache::lonxml::debug("Got a x of $x and a y of $y for $name");
-	if (defined($x) && defined($y) &&
-	    defined(@{ $Apache::response::foilgroup{"$name.area"} })) {
-	    my @areas = @{ $Apache::response::foilgroup{"$name.area"} };
+        my @areas; 
+        if (ref($Apache::response::foilgroup{"$name.area"}) eq 'ARRAY') {
+            @areas = @{ $Apache::response::foilgroup{"$name.area"} };
+        }
+	if (defined($x) && defined($y) && @areas) {
 	    my $grade="INCORRECT";
 	    foreach my $area (@areas) {
 		&Apache::lonxml::debug("Area is $area for $name");